Add an error return to the EachPage closure.

Because the Extract functions, at the very least, have an error parameter, and it's
kind of a pain to capture it outside the closure.
diff --git a/collections_test.go b/collections_test.go
index 665062b..b1fe6af 100644
--- a/collections_test.go
+++ b/collections_test.go
@@ -46,18 +46,18 @@
 
 func TestEnumerateSinglePaged(t *testing.T) {
 	callCount := 0
-	err := setupSinglePaged().EachPage(func(page Page) bool {
+	err := setupSinglePaged().EachPage(func(page Page) (bool, error) {
 		callCount++
 
 		expected := []int{1, 2, 3}
 		actual, err := ExtractSingleInts(page)
 		if err != nil {
-			t.Fatalf("Unexpected error extracting ints: %v", err)
+			return false, err
 		}
 		if !reflect.DeepEqual(expected, actual) {
 			t.Errorf("Expected %v, but was %v", expected, actual)
 		}
-		return true
+		return true, nil
 	})
 	if err != nil {
 		t.Fatalf("Unexpected error calling EachPage: %v", err)
@@ -103,11 +103,10 @@
 	pager := createLinked(t)
 
 	callCount := 0
-	err := pager.EachPage(func(page Page) bool {
+	err := pager.EachPage(func(page Page) (bool, error) {
 		actual, err := ExtractLinkedInts(page)
 		if err != nil {
-			t.Errorf("Unable to extract ints from page: %v", err)
-			return false
+			return false, err
 		}
 
 		t.Logf("Handler invoked with %v", actual)
@@ -122,7 +121,7 @@
 			expected = []int{7, 8, 9}
 		default:
 			t.Fatalf("Unexpected call count: %d", callCount)
-			return false
+			return false, nil
 		}
 
 		if !reflect.DeepEqual(expected, actual) {
@@ -130,7 +129,7 @@
 		}
 
 		callCount++
-		return true
+		return true, nil
 	})
 	if err != nil {
 		t.Errorf("Unexpected error for page iteration: %v", err)