Fix T41193: 2.71 use 100% of CPU at sculpt

Issue wascaused by the famous OpenMP crap in MSVC2013,
so only way is to use openmp threading if number of BVH
nodes is high enough.

Made it 8 for now, which seems to work rather fine on my
laptop and adult dragon from sintel. But maybe it's to be
adjusted a bit more.
RNA: check for valid ranges with int properties (C11 only)
Fix T40831: Shrink wrap modifier causes very high CPU usage when targeting meshes with shaped keys

Same issue as revious one -- need to start OMP threads only
when there's enough data to crunch.
Fix T41221: 3d view rendered mode crashes on new scene
Reduce OM limit for sculpting after discussion with Antony

That's rather tricky to think of a good threshold here, and
maybe we'd better use something based on the number of faces
instead.

Anyway, let's give it a try this way and see what happens.
Warnings
Fix T41201: Blender Crashes when UV Editing

Disable adding snapping point outside of 3D space for now,
visualization of the points is not implemented outside of
this space and silently adding them wouldn't really be a
good idea.
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.