Fixed bug in reduce.cl
Fix Python 2 bindings for findContours

The sanity check prevents Python 2 from calling findContours, because the
Python 2 bindings pass an empty matrix for `_contours`. If `_contours` is not
empty, the channel and depth check should determine whether the matrix is of
the correct type and size.

Note: the Python 2 bindings passes a matrix of type `STD_VECTOR_MAT` to
parameters of the type `OutputArrayOfArrays`.
automatic search for headers for python wrapper generation
glob for python module dependences
fixed parsing enums with tailing comma
gen2.py reports headers it processes
cmake file restructured
pass header list to gen2.py by a text file (avoid command line length limit on windows)
'adas' extra module doesn't produce .lib on windows (causes link error)
module blacklist
adding support for 16-bit 4 channel tiffs

- when IMREAD_UNCHANGED is set in flags, the tiff is read with 4 channels
- adding test for read/write
fixes tab indentation - replacing with 4 spaces
double to float cast warning fix
fixed
Merge pull request #3003 from ElenaGvozdeva:ocl_sum
Merge pull request #3007 from kobigurk:master
Merge pull request #3006 from smvv:fix_findContours_for_python2
Merge pull request #2994 from znah:py_hpp_glob