Some tweaks and slight refactoring

The one incompatible change is that the ImageLength field name has
been corrected to ImageHeight.
Add support for reading Nikon and Canon maker notes

Most known fields in Nikon and Canon maker notes are now parsed.
The Canon maker not support still needs a better way of passing the
offset to the maker note in the EXIF file to the maker note parser.
Other makers need to be added.
refactoring gsadams makernote stuff into its own package
added more specific note about image length vs height. Made unknownPrefix exported.
removed valid field check - unnecessary due to custom field loading (LoadDirTags). made unexported field maps specified using constants
go fmt
adds parser registration to exif package. mknote pkg provides canon and nikon makernote parsers. exifstat has mknote flag
fixed/updated doc comments
adds some basic makernote parsing. All exif data extraction is implemented through the Parse interface. Exposed a bit more of exif/tiff internals to allow this.