Merge pull request #1010 from rleigh-dundee/cpp-fixes

C++ fixes and test improvements
cpp: ome-compat: Add threading and locking support and tests
cpp: ome-compat: Add MSVC vsnprintf compatibility workaround
cmake: Add libtiff check
travis: cpp build requires libtiff5-dev
merge develop -D org: PR 857 (Initial support for Zeiss .lms files)
merge develop -D org: PR 858 (Initial support for Veeco AFM data)
merge develop -D org: PR 981 (Ignore namespaces when filling in an XMLAnnotation's Value)
merge develop -D org: PR 983 (Woolz: make sure the service is initialized when calling openBytes (rebased onto develop))
merge develop -D org: PR 985 (Updating transform catalog for 2013-10-dev-1)
merge develop -D org: PR 990 (Memoization fixes (rebased onto develop))
merge develop -D org: PR 991 (Only add a MetadataOnly element if no TiffData elements are present)
merge develop -D org: PR 999 (Fix for single channel  meas_mode 13 data (rebased onto develop))
merge develop -D org: PR 1001 (New time docs and samples)
merge develop -D org: PR 1004 (Update docs regarding BF and Eclipse (see #12127). (rebased onto develop))
merge develop -D org: PR 1005 (ND2: always set the field index to 2 (rebased onto develop))
merge develop -D org: PR 1006 (Read internal pyramids from CellSens .vsi data (rebased onto develop))
merge develop -D org: PR 1007 (SVS import and TIFF export fixes (rebased onto develop))
merge develop -D org: PR 1008 (Enable SDT plane preloading by default (rebased onto develop))
merge develop -D org: PR 1014 (Add initial structure for decompressing JPEG XR images (assist #8493).)