WIP: Pipek-Mezey Wannier functions

Open username-removed-572630 requested to merge eojons/ase:pipek_mezey into master

Working Pipek-Mezey module - unitary optimization of KS-DFT states to form highly localized orbitals (in a similar fashion as maximally localized Wannier functions).

Supports GPAW calc - fd, lcao and pw basis, as well as pbc.

Includes a general unitary optimization code (which comes with its own test class).

TODO: Make a common module for this code and the current Wannier code, since they share many of the same operations. Tests. Documentation.