Added new border types for pyrDown
Added new Intel-optimized 3x3 and 5x5 kernels to medianFilter.cl file and corresponding code to host in smooth.cpp

Only Intel platform and 1 channel images are supported.
Optimize OpenCL LUT function
Use 4 pixels for one unit. Some ocl code refactoring
Optimize OpenCL LUT function
Optimize OpenCL LUT function
Fix some errors
Fix some errors
Moved new kernels under conditional compilation to disable their build for 3-channel images; added condition to use new kernels only for images that are big enough
Adding explicit variable conversion in ocl_medianFilter() to suppress build errors on Linux & Mac
optimized index calculation
optimized cv::countNonZero
optimized cv::sum (CV_8UC1)
optimized cv::UMat::dot
Fixed inconsistency with flag names

Fixed inconsistency with flag names for solvePnP. 
The default value for the function lacks the CV_ prefix. The code checks against "ITERATIVE". The suggested values for the parameters *include* the prefix.
Even though the enum CV_ITERATIVE (+ CV_P3P, CV_EPNP) = ITERATIVE (& P3P, EPNP), lets show to the users only one of them.
Now the user sees only {ITERATIVE, P3P, EPNP}.
perspectiveTransform simplify assert() for better debuggin

When using perspectiveTransform in rather complicated settings, it would be easier for developers to have two separate assertions for each part of the boolean expression in order to pinpoint problems more efficiently. In my case I am struggling in Python2.7 with finding out whether scn+1 == m.cols or the depth == CV_32F || depth == CV_64F is making a problem, which is kind of hard.
fix typo in linux tutorial
optimized cv::normalize in case of mask
Added condition to use optimized kernels for images of size that multiple of 4 only
Add AKAZE support for the Java wrapper