[MRG] ENH: Return distances option for linkage_trees

On the lines of https://github.com/scikit-learn/scikit-learn/pull/3158 . Also a micro optimization for the `ward_tree` option, by preallocating the distance array.
might be helpful to write test on known dataset as @agramfort suggested for `ward_tree`. 
can be maybe borrowed by scipy in https://github.com/scipy/scipy/blob/master/scipy/cluster/tests/hierarchy_test_data.py