Performance improvements for Similarity family

Simple improvements to `Similarity` transform family gives some nice speed ups to Procrustes.

```
print('{} {}D pointclouds each of {} '
      'points'.format(len(ps), ps[0].n_dims, 
      ps[0].n_points))
88 3D pointclouds each of 60 points

%timeit GeneralizedProcrustesAnalysis(ps)
296 ms -> 119 ms

%timeit AlignmentSimilarity(ps[0], ps[1])
833 µs -> 317 µs
```