Hid internal methods in scanner.go by renaming to lowercase
Provided a way for callers of scanner to define what should happen on scanner read errors, and added a simple example in main