Create DataType, add some test flexibility

There are 3 basic changes here
* Create DataType to represent the type of data in the TIFF directory, adding exported constants for the values
* Add a check in exif_test TestMarshal that we processed the expected number of file
* Allow the test to be told where to write their data (allows flexibility in other build/test environments)