Fix T41206: Render Border - Operator Panel - Only Camera - Broken?

This is rather internal use only, no need to expose this option to
the redo panel.
Fix T41191: Face snapping doesn't work properly.

Issue was caused by rB47ec0394ca3d, which disabled BBox check in editmode - but bbox check was also
setting `len_diff`, which is mandatory when doing ray_start_local correction for ortho view...

Now, in this case, we do a quick rough compute of len_diff from vertices coordinates (accuracy is not
needed here, we just have to be sure corrected `ray_start_local` remains 'before' (outside) of the
geometry).
Make requests python package to be detected in the same way as numpy

This solves missing requests package reported on the systems where it's
located in dist-packages rather than in site-packages.

To do this there's now a helper macros which handles both requests and
numpy now and could be used for more packages in the future.

Reviewers: campbellbarton

Reviewed By: campbellbarton

Differential Revision: https://developer.blender.org/D686
Switch buildbot to new llvm/oiio/osl
Fix bundling of requests on debian-like systems

Couple of issues:

- Debian systems doesn't use site-packages but uses
  dist-packages instead.

- Requetss from ubuntu repository depends on urlllib3
  and chardet, which also implies six. copy those libs
  as well.

I know it's all rather annoying, but no that much
choise is in here..
CMake: use our template for finding the glew library
CMake: add glew-mx library
As suggested by Campbell, rather use BVHTree to get len_diff in this morning's fix.

Note than it's using nearest faces, since it showed to be much more performant than
nearest vertex (quite odd, it's about 40% slower for the first element, then 50 times quicker
for all others, as if BVH was cached, and building face was slower than verts one,
but then using it, much quicker!).
OSX/buildbot: Fix 32bit compile by removing  OSL/LLVM and add back UTF to Collada
- due OSL i386 never worked on OSX, the new libs do not even contain this arch !
- As we had to fix duplicated symbols from generic UTF finctions same in LLVM and COLLADA,
LLVM-less build must have UTF lib reenabled
Install_deps: Raise openexr/ilmbase magic numbers, looks to be needed...

Btw, if someone can explain me why OPENEXR_FORCE_REBUILD does not work like
all other force options... :/
Fix T41204 Python KX_lightObject.distance bug by Jon Szabo (thatonejonguy)

Reviewers: dfelinto

Subscribers: thatonejonguy

Projects: #game_engine

Differential Revision: https://developer.blender.org/D689
BGE: Constraint wrapper fix.

1. This patch fix the KX_ConstraintWrapper documentation (radian instead of degrees).
2. It also adds the missing GENERIC_6DOF_CONSTRAINT constant.

Reviewers: dfelinto

Reviewed By: dfelinto

Differential Revision: https://developer.blender.org/D672
Implement get_split_task_count to make device_network compile again.
Cycles: Make Glass Shader Color default to 1.0.

This came up a few times already, most of the time you want a clear white glass, and not a greyish like one. :)
OSX/scons: Fix linking if llvm is not used ( new osl/llvm/oiio related )
Fix T41174: Tangent space required UV map in Cycles

Now Cycles behaves in the same way as BI in terms of using
sphere projection of orco coordinates if there's no UV map
when calculating tangent space.
Fix T41227: Do not select unselectable items when unhiding them!
Fix T41228: Selection of bones bug.

Turns out to be mostly some cleanup in Pose select code, got rid of magic numbers
(now understand usual SEL_xxx enums) in ED_pose_deselectall(), which was renamed
to ED_pose_de_selectall, and have a new bool parameter to ignore visibility status
in its process (was the root of the reported issue).

Also factorized slightly "(de)select all" code. Yet this area could use much more
cleanup probably...
Fix T41223: F-Curve sliders won't update values during playback when mouse cursor is outside the left panel.
OSX/cmake: fix linking utf-functions if llvm is disabled