"linkage() function mistakes distance matrix as observation vectors"

this is to handle issue # 2614 ( scipy#2614 )
"linkage() function mistakes distance matrix as observation vectors"
If input to linkage() is a 2-dimensional matrix, it is first checked by predicate is_valid_dm(). If it is a distance matrix, it is converted to condensed vector. Otherwise it is considered to be observation vectors and condensed distance matrix is calculated using pdist() function.
and same change below