cmake: Remove unneeded warning flags
cmake: Add check for boost::filesystem::canonical
cmake: Add check for boost::filesystem::absolute
cpp: ome-compat: Add filesystem compatibility header

Work around missing absolute() and canonical() functions in older
versions of Boost.  canonical() is missing in 1.46 and earlier.
absolute() is missing in versions older than 1.46.
cpp: bioformats: FormatReader uses ome-compat filesystem fallbacks
cpp: test: Fix FormatTools test to work with Boost 1.42

Old versions of Boost don't provide an ostream operator for
std::array.
cpp: test: Fix FormatReader test to work with Boost 1.42

Older versions don't cope with equality comparison of
variants using gtest EXPECT_EQ but succeed when using
raw ==.
docs: Downgrade minimum Boost version to 1.42
Merge pull request #1035 from rleigh-dundee/cpp-fixes3

C++: Compatibility workrounds for Boost.Filesystem 1.46 and earlier