[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.
maybe just for consistency with `ward_tree` call it `distances`?