BUG: Fix memory leak in LBFGSBOptimzierv4

Valgrind defect detected for the LBFGSBOptimizerv4:
http://open.cdash.org/viewDynamicAnalysis.php?buildid=3356652

Change-Id: I2cf4515d436c085c59a3f9ab54ca9a5f7e4a5f89
ENH: Uninitialized scalar field

Coverity defect:
Non-static class member is not initialized in this constructor nor in
any functions that it calls.

These were missed or new since the previous patch addressing this defect.

Change-Id: I369c7ed5ca9bece63ad30f4be4d9f00e1dd13fbd
ENH: Add distance vector to KdTree search API

In KddTree class, the distance vector is computed by the internal
"NearestNeighbors" class. However, this distance vector is not provided
as an API, instead in the examples the "EuclideanDistanceMetric" is used
to compute the distance vector.
This patch adds a new signature for the KdTree::Search function that
returns the distance vector as an argument.
Also a test unit is designed that shows that distances computed by the
metric are the same as the distances taken directly from the search
function.

Change-Id: I8130d73c1306caff2327b2ecd764dc84f2e95d12
Merge topic 'Coverity_UninitializedScalarField2'

51843eae ENH: Uninitialized scalar field
Merge topic 'lbfgsb_ml2'

3dd89bae BUG: Fix memory leak in LBFGSBOptimzierv4
Merge topic 'addDistanceVectorToKdTree_2'

45276d5c ENH: Add distance vector to KdTree search API