tiff: Drop err argument from *_OR_FAIL macros

for consistency with other modules.
Avoid repeatedly setting TIFF directory

TIFFSetDirectory() unconditionally reads the entire directory from disk.
Avoid calling it when we're already on the correct directory.
Drop unnecessary tiff_set_dir() in paint_region functions

tiff_read_tile() and tiff_read_tile_data() both set the directory, and
none of the grid tile callbacks read TIFF fields.
aperio: Don't choke on zero-length JPEG tiles

It turns out that both JPEG and JP2K slides can have zero-length tiles.
In the JPEG case, libtiff was printing e.g.:

    TIFFFillTile: 0: Invalid tile byte count, tile 200.

and openslide_get_error() was returning:

    TIFFRGBAImageGet failed

Return transparent pixels instead.
Avoid fcntl() in _openslide_fopen() if we can atomically set CLOEXEC

The fcntl() calls were redundant on modern glibc.  Compile them to avoid
bitrot, but don't execute them.
ventana: Accept variant form of macro image ImageDescription
configure.ac: Update comments for BSDs
Prefix add_associated_image errors in callee
tiff: Fix _openslide_tiff_add_associated_image() on big-endian

It would fail with "Unsupported TIFF compression: <garbage>".
Fix detection of non-TIFF files > 2 GB on 32-bit systems
_openslide_read_key_file(): Limit max_size

to guard against drivers passing an unreasonable value.
test: Add case for 256 KB .vms file