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.
Any particular reason for this behavior instead of throwing an exception?