Fix collada and freestyle module compile errors after recent commit, forgot to
compile with those enabled.
Potential fix for T38111: Duplicating BOIDS emitter cause glitchy operation

Need to reset cached KD tree when duplicating particle system.
Fix T38233: Right click in Particle Edit mode closes application

It was wrong memory access in selection operators when point doesn't
have keys.
Tweak to early threaded update escape

Issue was caused by some objects being in bMain and tagged
for update but not being in the DAG. This means objects
wouldn't be updated and their recalc flag remains untouched
triggering threaded for the next frame.

Solved by tweaking POST_UPDATE_HANDLER_WORKAROUND in the way
that it checks objects' recalc flags from the DAG, not from
the bMain. This will work a bit longer since DAG stored more
nodes than objects in the scene, but this code only runs in
cases when there're some objects tagged for update, which
keeps overall CPU usage on such a workaround pretty low.

Now CPU usage on 11a_comp scene from project Pampa went down
from ~15% down to ~5% (2,69 release uses ~%7).

Pointed by Thomas Dinges in IRC.
User Prefs: Manipulator unit and tooltip fixes

removal of x5 hardcoded size multiplier
Code Cleanup: simplify matcaps checks and quiet warning
Code Cleanup: style and redundant casts
Compilation error fix: mismatch declaration
Code Cleanup: outliner used magic numbers for active items and selecting

Replace with enums to make it more obvious whats happening
Correct error in own recent commit
Code Cleanup: avoid using G_PICKSEL for transform manipulator
Code Cleanup: no need to pass empty strings as default values
Fix T38116: Crash when using solidify modifier on multi-user mesh

Issue was caused by solidify modifier using original vertices bitfield
to store tags. This isn't thread-safe obviously. Now use bitmap to store
needed tags.

Reviewed by Campbell, thanks!
Fix T38217: Fix glitch adding Monkey with view align

added an option so view-align can default to a different axis.
CMake: add missing dependency for icon target
Code Cleanup: spelling
Fix for BLF using realloc() on guarded-alloced memory
BLF: avoid allocating empty array in blf_glyph_cache_texture
Cycles: Add an AVX kernel for CPU rendering.

* AVX is available on Intel Sandy Bridge and newer and AMD Bulldozer and newer.
* We don't use dedicated AVX intrinsics yet, but gcc auto vectorization gives a 3% performance improvement for Caminandes. Tested on an i5-3570, Linux x64.
* No change for Windows yet, MSVC 2008 does not support AVX.

Reviewed by: brecht
Differential Revision: https://developer.blender.org/D216
BLF: Fix for changing the DPI storing many fonts (300+)

Each dpi value stores its own set of font sizes, so while dragging the
dpi value would collect many sizes and never free.

Also change how BLF_cache_clear works,
it was freeing memory but not the OpenGL textures.

Now just free all the cache and GL textures and let drawing allocate them again as needed.