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.
Agreed, but I would think that would happen at a higher level--this is just the lower level wrapper code getting the tag value.  It's up to the caller to ignore the failure if they choose.  Note that the higher-level Field class which does the type-safe wrapping passes get/set values by reference.  These can't be NULL by design, so exceptions are the correct way to propagate errors back for this design.