cpp: bioformats: Add MetadataMap class for original metadata
cpp: bioformats: Move MetadataMap ostream operators into std namespace

Needed by gtest for clang++ on MacOS X which doesn't appear to support
ADL properly like GCC on Linux.  We need to override the boost::variant
ostream for our type or else gtest tries to use it and then it fails
horribly.
cpp: test: Fix compiler warnings and errors for metadatamap
cpp: metadatamap test no longer requires pair stream operator

Older versions of the C++ standard library and/or boost::variant do not
support iterator stream operators, making the gtest equality assertions
fail to compile.  Switch to use simple assertions without this
requirement.
cmake: Provide GNUInstallDirs directly

While this is provided by recent cmake versions, older 2.8 releases
do not provide it.  Include directly to allow use of any 2.8
version.
cpp: Add compat header for variant

In order to work around Boost.Variant and Boost.MPL type list size
limits in earlier versions of Boost, add functional cmake check and
manually increase the limits if using a buggy version.  This fixes
the travis build.
cpp: cmake: Correct BoostChecks Variant/MPL check comment
merge develop -D org -I include -E exclude: PR 528 (Tile performance improvements for VMS and NDPI)
merge develop -D org -I include -E exclude: PR 857 (Initial support for Zeiss .lms files)
merge develop -D org -I include -E exclude: PR 858 (Initial support for Veeco AFM data)
merge develop -D org -I include -E exclude: PR 859 (Assorted metadata/tile parsing fixes)
merge develop -D org -I include -E exclude: PR 923 (Patch for CellProfiler issue 1043 - Cellomics files with renamed filenames)
merge develop -D org -I include -E exclude: PR 945 (cpp: bioformats: Add MetadataMap class for original metadata)
merge develop -D org -I include -E exclude: PR 948 (Updating Aperio ImageScope weblink (rebased onto develop))