Incremental index construction optimizations.

Several refactorings related to incremental index constructions.
Reverting to regular polymorphism as the CRTP speedups are not worth the
comprexity and increase in compilation times.
Added IntervalHeap implementation for a double ended priority queue.
Splitted flann_simple_test.cpp into multiple test programs
Updated index types
Changed returned index type from int to size_t
Refactored index serialization.
Fixing possible memory leak in KDTreeSingleIndex.
Some refactorings
Reverted to explicit enums for now
Added proper copy constructors and assignment operators to indexed
Fixes.
Set version to 1.8.0
Merge branch 'master' into master_local
Fixed issue with removing points from index and rebuilding the index. Some performance improvements when no points have been removed
Fixing for tbb search
Replaced TBB with OpenMP. Fixed the const-ness of search functions
Fix MEX file compilation with OpenMP
More test cases
Fixing error for empty results
Updated docs