SIMD fixes for some compilers

This is just a guess, but it looks like maybe some people's compilers
are having trouble with the implicit conversion of int4 to _m128i. In
several places, I relied on the conversion, so this just changes those
spots to be explicit about it.
Big reorg of fmath.h.

* Some things (like understanding the endianness of the platform) have
  moved to platform.h.

* The stuff particular to supplying things that should be in math.h
  or stdint.h, but aren't on some platforms, has all been moved to
  a new header, missing_math.h.

* Tons of safe_blah (clamped input range) and fast_blah (approximate but
  must faster) have been added, copied from a recent addition to
  Open Shading Language (OSL).

* Moved a whole bunch of stuff around the file to give it some kind of
  sane overall organization.
Use fast_math in aniso texture calculations for speedup.
Python - make all IBA functions release the GIL for their expensive part.

The notorious GIL (global interpreter lock) prevents other Python threads
from executing while our functions are holding the lock.

We use a ScopedGilRelease found in many places on the web. Its purpose is
to release the GIL before expensive work, then properly re-acquire it again
when it exists scope. This allows other Python threads to advance while we
are doing the meat of our work.

In many case, this meant writing a wrapper (to scope the GIL business)
where before we did not need a wrapper.