Log the expected and actual values in failed metadata tests
Merge pull request #964 from melissalinkert/rebased/develop/test-logging

Log the expected and actual values in failed metadata tests (rebased onto develop)
Merge pull request #962 from rleigh-dundee/cpp-formatreader-interface

C++: Add FormatReader interface and associated classes
cpp: bioformats: Correct free function naming in PixelProperties
cpp: bioformats: FormatReader series/index setting methods are const

While not const in reality, these are treatedly as effectively const
in order to allow for their use in const methods.
cpp: bioformats: Add SaveSeries sentry to FormatReader

For use by any class implementing FormatReader, with methods
which need to modify reader series/index state.
cpp: compat: Add string trimming utility functions
cpp: bioformats: Add Types.h

While originally defined in CoreMetadata, these are used by many
different classes, so it makes sense to split them out.
cpp: bioformats: FormatReader and CoreMetadata use base types
cpp: bioformats: Add FormatTools
cpp: bioformats: Add istream operator to PixelBuffer
cpp: FormatReader: Fix getZCTCoords interface
cpp: bioformats: Link with Boost.Filesystem and Boost.System
cpp: bioformats: Add additional FormatReader const qualifiers
cpp: bioformats: Add prefix to MetadataOptions::MetadataLevel enums
cpp: bioformats: Add FormatReader implementation