Fix bug in computing SA energy

I was not accounting for symmetries correctly

The eigenvectors are not invariant under rotation.  if you rotate the
coordinates and apply the same eigenvectors you will get a different
result.

The solution is to use the exact match algorithm to put x0 (the
coordinates of x after minimization) into alignment with m.coords.  Then
apply this alignment to x as an excelent first guess for optimial
alignment of x and m.coords.  The exact_match algorithm is *much* more
efficient at doing this than simply trying to align x and m.coords.

A few significant changes in pele were needed to make this behavior
possible.  Also, the MinimaSearcher class now uses
compare_structure.find_transformation(m1.coords, m2.coords) rather than
compare_minima(m1, m2) to determine exat match.