Implimentation "cv::Mat::forEach"

I propose forEach method for cv::Mat and cv::Mat_.
This is solution for the overhead of MatIterator_<_Tp>.

I runs a test that micro opecode runs all over the pixel of cv::Mat_<cv::Point3_<uint8_t>>.
And this implementation 40% faster than the simple pointer, 80% faster than iterator.
With OpenMP, 70% faster than simple pointer, 95% faster than iterator (Core i7 920).

Above all, code is more readable.

My test code is here.
    https://gist.github.com/kazuki-ma/8285876

Thanks.
docs fixes
Refactored class Fisheye to namespace fisheye
Changed documentation for namespace fisheye
Added license to source files
Disabled BORDER_CONSTANT for pyramid functions.
Fixed scanning bug identified in comments in pull request #1119.
NFA calculations now generate better line segments.
Allows to choose orthogonal sub-vectors for LSH without using a static table among LshTable instances
Merge remote-tracking branch 'upstream/2.4' into LshOrthogonalSubvectors
fixed binary compatibility
Fix local variable shadowing
Add the ensureSimpleDistance() method to ensure the user the returned distance is not ^2 (the default for L2 for instance)
Unroll pyrUp kernel
Removed useless multiplication by 4
Issue #3709 - PyBindings for LSD

Corrected crashing in Python bindings while using LSD_REFINE_NONE flags
Corrected not drawing lines in drawSegments and compareSegments in Python bindings
facerec2
export BOW to script wrappers
moving FaceRecognizer2 from public header to .cpp
Merge pull request #2705 from KonstantinMatskevich:face_recognition_labels_info
fix -Wmaybe-uninitialized warning (initialize pointers to NULL)