Add bit reading methods to RandomAccessInputStream
Deprecate BitBuffer in favor of RandomAccessInputStream
Update readers and codecs to use RandomAccessInputStream for bit operations
Add bit writing methods to RandomAccessOutputStream
Deprecate BitWriter in favor of RandomAccessOutputStream
RAIS: do not call skipBytes when there are no bytes to skip
Add unit test for reading and writing bits
Use readByte() instead of read() for processing bits
Close the RandomAccessInputStream in a finally block

As the stream is wrapping a byte array, there isn't a file handle
involved; this can't really hurt though.
Use 'if'  instead of 'while' for skipping bytes

currentBit will not be greater than 7, and skipBits will not be greater
than 7, so at most one extra byte needs to be skipped.
Make sure the dirty byte is flushed before writing bytes
Tidy up bit writing and skipping methods
BMP: prevent skipping bits beyond the end of the file
Merge pull request #1323 from melissalinkert/bit-ops

Add bit-level operations to RandomAccess{Input, Output}Stream
merge develop -Dnone -Ibreaking -Eexclude -Ssuccess-only: PR 1054 (Additional annotation points throughout the model)
merge develop -Dnone -Ibreaking -Eexclude -Ssuccess-only

Repository: openmicroscopy/bioformats
Excluded PRs:
  # PR 1249 PremyslFiala 'ND2 - Bug fixes' (user: PremyslFiala)
  # PR 1348 melissalinkert 'PCORAW: fix offsets for files larger than 4 GB' (user: melissalinkert)
  # PR 858 melissalinkert 'Initial support for Veeco AFM data' (user: melissalinkert)
  # PR 1154 melissalinkert 'Leica: prevent exception when linking EmissionFilter' (user: melissalinkert)
  # PR 1309 melissalinkert 'Allow tile-based access of large JPEG-2000 images' (exclude comment)
  # PR 1161 sommerc 'Initial CellH5 Reader class' (user: sommerc)
  # PR 1265 qidane 'New units' (label: exclude)
  # PR 1339 melissalinkert 'Amaris FlowSight' (user: melissalinkert)
  # PR 1349 rleigh-dundee 'cmake: Add missing include directories' (user: rleigh-dundee)
  # PR 1315 LeeKamentsky 'IM3Reader for Perkin-Elmer Nuance' (user: LeeKamentsky)
  # PR 1296 melissalinkert 'Add test for getRequiredDirectories' (user: melissalinkert)
  # PR 1347 melissalinkert 'AIM: fix offset calculation for > 4GB files' (user: melissalinkert)
  # PR 816 melissalinkert 'Add support for multi-channel Volocity Clipping datasets' (user: melissalinkert)
  # PR 1302 sbesson 'Add branch-specific link for downloading the JAR file if unfound (rebased onto develop)' (user: sbesson)
  # PR 1328 sbesson 'Use in-place caching by default in Memoizer' (user: sbesson)
  # PR 1015 qidane 'Messy binary' (exclude comment)
  # PR 857 melissalinkert 'Initial support for Zeiss .lms files' (user: melissalinkert)
  # PR 1343 rleigh-dundee 'C++: TIFF pixel data read/write interfaces and skeleton implementation' (user: rleigh-dundee)
  # PR 1177 rleigh-dundee 'specification: Add metadata for HDF5 embedding' (exclude comment)
Updating 0819d22..46f4115
Previously merged:
  # 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'

Merged PRs:
  # PR 1054 qidane 'Additional annotation points throughout the model'

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