Merge 2.4 into master

Original pull requests:

* #2071 from pemmanuelviel:LshOrthogonalSubvectors
* #2705 from KonstantinMatskevich:face_recognition_labels_info
* #2726 from Ilya-Krylov:2.4
* #2766 from akarsakov:pyr_border_constant
* #2779 from pemmanuelviel:kmeansppSquareDist
* #2843 from berak:f_export_bow_24
* #2846 from alalek:2.4_fix_python_warnings
* #2868 from neo008:2.4
* #2870 from 23pointsNorth:patch-5
* #2880 from GravityJack:SparseMatIterator-build-fix
* #2889 from Ilya-Krylov:fisheye
* #2891 from nisargthakkar:dims_zero_on_release
* #2905 from Jazmann:2.4
* #2914 from alalek:fix2.4
* #2915 from SpecLad:core-useless-casts
* #2917 from mmaraya:bug_3872
* #2922 from ilya-lavrenov:mac_fix