Fix reading of 16-bit TIFF images on big endian host.

Use correct integer types for arguments to TIFFGetField to avoid corruption
of values and failed loads of TIFF file when using cv::imread().

Added test where both big and little endian TIFF files are read using imread().

Fixed build of 3rdparty libtiff on big endian hosts.

Reduced memory required during decode_tile16384x16384 test by not converting
large grayscale test image to color image during read.
Fix Windows build of grfmt_tiff.cpp by using libtiff's integer types.
Fix cmake detection of build platform endianness

Improve comments to indicate actual usage of WORDS_BIGENDIAN where
it is tested with #ifdef rather than #if
Fix build of libtiff on big endian host due to defined but empty WORDS_BIGENDIAN macro
Merge pull request #2323 from stuart8c:issue2601_2.4_fix_16bit_tiff_reading_on_big_endian_host