tiffdec: rename variables for consistency and fix variable shadowing

Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
tiffdec: use correct data type for palette entries and set alpha to 0xFF
bytestream: add functions for accessing size of buffer

Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>

CC:libav-stable@libav.org
bytestream: add bytestream2_copy_buffer() functions

This is basically an overread/overwrite-safe memcpy between a
GetByteContext and a PutByteContext.

CC:libav-stable@libav.org
tiffdec: use bytestream2 to simplify overread/overwrite protection

Based on a patch by Paul B Mahol <onemda@gmail.com>

CC:libav-stable@libav.org
tiffdec: use a single strip if RowsPerStrip is 0

The spec does not specify that 0 is an error condition, and there
are samples which use 0 when the whole image is in one strip.
tiff: use a better name and enum values for PhotometricInterpretation

Also add additional known values and log as missing features.
tiffdec: remove an unneeded variable
tiffdec: support predictor type 2 with RGB48 pixel format
disable -rpath-link on Solaris

The Solaris -rpath linker option parser is greedy.
build: add Solaris symbol versioning

The Solaris linker does not support globs in linker scripts for
symbol versioning (this is a GNU extension). Let's instead borrow
make_sunver.pl from GCC to make a description file that works
with the Solaris linker.