C++: TIFF pixel data read/write interfaces and skeleton implementation

- Minor interface cleanups for IFD Field methods
- Minor Sentry exception message improvement
- IFD PixelType accessors
- Basic interfaces for strip/tile read/write

--no-rebase

--------

Testing: Most of the additions are interfaces only; everything else is covered by unit tests.  The skeleton implementation visitors are tested passing compilation.
This will cause an exception to be thrown if a requested tag is missing, right?  Going forward it may be necessary (or desirable, from a log clarity standpoint) to make this a less severe warning.  There are many cases where a tag is optional and should be parsed if present, but quietly ignored if not.