Cleanup: Move `object_get_derived_final` from BKE_shrinkwrap to BKE_DerivedMesh

Note this func needs some love, but this will be for later (should never have been in shrinkwrap code!).
Cleanup: Move SpaceTransform helpers from `BKE_shrinkwrap` to `BLI_math_matrix`.
CMake: tweak so 2.8.7 and older still work (disable WITH_BUILDINFO)
Spelling
Move to OIIO 1.4 also for windows x86
BMesh: typecheck iterator
Make CHECK_TYPE_NONCONST macro portable

also replace __typeof -> typeof
CMake: add header
Collada and llvm both use the same functions and they clash.
Since we have older llvm for msvc2008 and new one for msvc2013 we need to work around it.
fix check for not llvm
Fix for glitch with menus not reliably setting an active item (D674)

When menus are clamped to the window bounds,
its was possible not to have an active menu-item under the mouse,
Making Ctrl+S,Enter not completely reliable.

Changes needed to support this are:

- menu item is activated on popup menus
  (to avoid relying on mouse-over)
- moving mouse away from menu items only de-activates when over a new menu-item.
- Mouse clicks are ignored if they are not directly over the menu item.
OSX/buildsystem: prepare usage on OSX 10.10 - Yosemite
- important: requires cmake >= 2.8.12 to read minor version right,
aka older cmake rates 10.10 lower than 10.6 for example ! ( sigh )
Fixed linking OIIO on Windows.  The debug and optimized options need to be before each individual library in a list.
Fix T41284: The python ops log doesn't work.
Correct glitch in recent menu commit, click-drag locked menus
Correct cu->pathlen treated as a float
Cleanup: replace int cast with floorf when comparing time
Macros: prevent instantiation of args for type checks

also make CHECK_TYPE_INLINE more strict
Tweaks to macros
Fix T41175: Quad View - Properties Region - Clip Tickable option bug?