Curves: save active point to file

Changed curve active point from pointer to index. Allows curve active point to be saved to file and retained between modes for free. Also some small optimisations by removing pointer look up code.

- Made active point access functions into BKE API calls.
- Fixes operators where curve de-selection resulted in unsel-active point.
- Split curve delete into 2 functions
Build System: icon files now depend on UI_icons.h for CMake

Now changing UI_icons.h causes icons to be re-generated, without this
adding a new icon wouldn't automatically get into the generated PNG.
UI: Replace +/- menus with collapsible ones

Patch D160, by Scott Petrovic with  own modifications.
UI: Fix for icon-only menus too small click-able area
patch by Mihai Melinescu: boost hardcoded MSVC12

Updated CMakeLists.txt to account for boost hardcoded locations for VS 2013.

Reviewers: juicyfruit

Differential Revision: https://developer.blender.org/D261
Fix clip editor interface being broken by a71f072

Please do test commits before committing them.
This is second working day in a row which was started with
solving issues caused by untested patches.
Code Cleanup: de-duplicate nested node tree checking
Implement clipboard for mask splines

So now it's possible to copy-paste splines between layers.

Implementation is pretty much straightforward and duplicates
some logic which we've got in sequencer/tracking clipboards.

Will work on a common routine for clipboards later, for now
it's not so much crucial to have.
patch by liblib (lid b)

Default installation path of cuda nvcc.exe contain spaces

Reviewers: juicyfruit

Differential Revision: https://developer.blender.org/D239
Update Carve to latest update

Fixes some issues with NaN vertices in special cases.
Also adds edge interpolation routines which are currently
unused but which are requires to implement edge CD interpolation.
Fix T38355: Crash with Shader Node Group with missing datablock,
only in "Material" viewport shading.
Attempt to fix T38373: cmake linux build failure with OpenEXR.
Fix incorrect extern
Use includes for blenderplayer stubs

exposes many incorrect and redundant stubs
Buildbot OS X: compile with clang instead of GCC.

This should solve the missing -mavx option for Cycles, and also give better
performance since GCC 4.2 is now 5 years old already.
Code cleanup: use booleans where appropriate
Revert recent OpenEXR cmake/linux fix and earlier OS X fix to use GCC for AVX.

Both need a better solution and break working builds.
Fix player compile in scons and disable -Wmissing-prototypes for Apple atm.
OSX/scons: fix gnu gcc compile by using clang assembler ( openMP builds)
OSX/scons: consequently make use of the recently introduced C_COMPILER_ID and  CCVERSION env vars