Refactoring and cleaning up tests
Removed assertions in KDTree

Assertion checks on data continuity was necessary when directly accessing
cv::Mat using pointers. Since data is now accessed using iterators, the
continuity is no longer required.
Added class index acting as a façade to KDTree
Moved serialization code to class headers
Fixed order of macro_build_info in CMakeLists
Cleanup