tiff: Fix bug in convertVals, where floatVals was allocated more than once.
tiff: Make names more consistent with the spec. Note: API change.

Field names are derived from Section 2, Image File Directory (TIFF spec 6.0)
    Tag: "Id" seems appropriate even though it deviates from the spec, since
         name "Tag" is used to represent the struct.
    Type: Rename "Fmt" to "Type" to make this field consistent with the spec
    Count: Rename "Ncomp" to "Count" to make this field consistent with the
           The "output" struct in "tiff_test.go" already uses the name "coun
    Value/Offset: "Val" is consistent with the spec.
exif, tiff: Simplify and add comments.

- Add comment about marker value, EXIF (0xE1 = APP1).
- Simplify newAppSec.
- Use io.ReadFull where appropriate.
- Use *bytes.Buffer for *Tiff String() method.