cmake: Add extra libtiff compatibility checks
cpp: ome-internal: Add config.h with libtiff compatibility defines
cpp: bioformats: Add TIFF I/O via libtiff wrapper
cpp: Use "stdarg.h" fallback if <cstdarg> is not functional
cpp: tiff: Add pre-C++11 workarounds and fixes
cmake: Allow compiler standard setting to be disabled
cpp: tiff: Remove redundant partial template specialisation declarations

Also remove default get/set implementation template and add
UInt16Tag1 specialisation.
cmake: Add libtiff FieldInfo checks

This was added in libtiff 4.0.3, so 4.0.2 and earlier need to work
without it.
cpp: tiff: Field can cope with FieldInfo being unavailable

This information is needed however, so the code will also need
adjusting to cope.
cpp: tiff: Cope with FieldInfo being unavailable

Hardcode known behaviour, primarily passcount, readcount and
writecount values, and disable checking that the FieldInfo
matches the get/set operations.
cmake: Rename and document standard autodetect and warning options
travis: Build C++ in gnu++98 mode to get working stdarg
docs: cpp: Add TIFF as a prequisite
cpp: ome-internal: Quote directory defines
cpp: test: Cater for tiff Field differences
cpp: tiff: Define dummy TIFFField if it doesn't exist

Any use will result in a compile failure.
cpp: tiff: Remove special-case TIFFField forward declaration
cmake: Add additional libtiff Field checks

libtiff <= 4.0.2 uses TIFFFieldInfo and TIFFFindFieldInfo, and
TIFFMergeFieldInfo does not return anything.
libtiff >= 4.0.3 uses TIFFField and TIFFFindField, and
TIFFMergeFieldInfo returns int.

Add check for TIFFField, update TIFFFieldInfo check, and also
determine the return type of TIFFMergeFieldInfo
cpp: tiff: Use appropriate TIFFMergeFieldInfo return type
cpp: tiff: Field wraps TIFFFieldInfo if required

If using libtiff <= 4.0.2, provide compatibility wrappers and types
for the libtiff 4.0.3 implementation.