cpp: IFD: Rename libtiff field wrapping methods to getRawField and setRawField

This avoids confusion with the getField<> method which returns a Field<>
object, and prevents any percieved ambiguity with overloading since while
it works, any errors can be confusing since it's not necessarily clear
which method is being called.
cpp: IFD: Allow getting of a const Field object

This allows read-only Field access within const contexts, e.g.
from a const IFD reference or in a const IFD method.
cpp: tiff: Add Sentry error fallback

Allow provision of useful messages for the cases where libtiff
doesn't provide a useful error message.
cpp: IFD: Add getters and setters for PixelType

These are convienience functions which map SampleFormat and
BitsPerSample to and from the PixelType enum.
cpp: IFD: Add skeleton implementation for image reading and writing
cpp: tiff: Storage ordering is based on TIFF PlanarConfig
Merge pull request #1343 from rleigh-dundee/cpp-tiff-pixeldata

C++: TIFF pixel data read/write interfaces and skeleton implementation
merge develop -Dnone -Ibreaking -Eexclude -Ssuccess-only

Repository: openmicroscopy/bioformats
Excluded PRs:
  # PR 1309 melissalinkert 'Allow tile-based access of large JPEG-2000 images' (exclude comment)
  # PR 1339 melissalinkert 'Amaris FlowSight' (user: melissalinkert)
  # PR 858 melissalinkert 'Initial support for Veeco AFM data' (user: melissalinkert)
  # PR 1177 rleigh-dundee 'specification: Add metadata for HDF5 embedding' (exclude comment)
  # PR 1302 sbesson 'Add branch-specific link for downloading the JAR file if unfound (rebased onto develop)' (user: sbesson)
  # PR 1249 PremyslFiala 'ND2 - Bug fixes' (user: PremyslFiala)
  # PR 1054 qidane 'Additional annotation points throughout the model' (user: qidane)
  # PR 1315 LeeKamentsky 'IM3Reader for Perkin-Elmer Nuance' (user: LeeKamentsky)
  # PR 1350 melissalinkert 'Update version history for 5.0.5 (rebased onto develop)' (user: melissalinkert)
  # PR 1015 qidane 'Messy binary' (exclude comment)
  # PR 1296 melissalinkert 'Add test for getRequiredDirectories' (user: melissalinkert)
  # PR 816 melissalinkert 'Add support for multi-channel Volocity Clipping datasets' (user: melissalinkert)
  # PR 857 melissalinkert 'Initial support for Zeiss .lms files' (user: melissalinkert)
  # PR 1154 melissalinkert 'Leica: prevent exception when linking EmissionFilter' (user: melissalinkert)
  # PR 1328 sbesson 'Use in-place caching by default in Memoizer' (user: sbesson)
  # PR 1265 qidane 'New units' (label: exclude)
  # PR 1161 sommerc 'Initial CellH5 Reader class' (user: sommerc)
Updating 0819d22..bb48c40
Previously merged:
  # PR 1343 rleigh-dundee 'C++: TIFF pixel data read/write interfaces and skeleton implementation'
  # PR 1349 rleigh-dundee 'cmake: Add missing include directories'
  # PR 1348 melissalinkert 'PCORAW: fix offsets for files larger than 4 GB'
  # PR 1347 melissalinkert 'AIM: fix offset calculation for > 4GB files'
  # PR 1323 melissalinkert 'Add bit-level operations to RandomAccess{Input, Output}Stream'
  # PR 1342 joshmoore 'Catch all exceptions on loadMemo'
  # PR 1340 joshmoore 'kryo: update to 2.24.0 with shading changes (see #10852)'
  # PR 1331 rleigh-dundee 'C++: Add FormatWriter interface'
  # PR 1335 melissalinkert 'ND2: prevent NumberFormatExceptions when parsing text data (rebased onto develop)'
  # PR 1324 melissalinkert 'Deltavision: conditionally ignore stage position values of 0'
  # PR 1317 melissalinkert 'Gatan: fix physical dimension parsing when the Z size is missing'

Generated by OME-5.1-breaking-push#96 (http://ci.openmicroscopy.org/job/OME-5.1-breaking-push/96/)