Merge 2.4 into master

Original pull requests:

* #2404 from yashdv:old_basic_structures_doc_fix
* #2498 from dreamworld:fix_tutorial_mat_the_basic_image_container
* #2516 from Daniil-Osokin:fix_docs
* #2520 from vlkolesnikov:misprint_fix
* #2521 from atrebbi:#3620
* #2527 from apavlenko:ocl_surf_24
* #2534 from asmorkalov:opencv_config_cut_cuda_abs_path
* #2537 from ilya-lavrenov:doc_fix
* #2539 from mjul:fixtypos
* #2540 from mjul:fixtypos_2.4
* #2542 from asmorkalov:android_javacam_cvtcolor_fix
* #2543 from apavlenko:24_haar_revert