consolidates localization functionality into the base class and implements a "lowdin" option for Pipek-Mezey localization.

Lowdin type PM seems more stable, so the default is set to lowdin type.
Also, preparing to be able to use this for MEH calculations.
Adds the "scheme" keyword in dimerize which accepts options "localize_first", "active_first" and "active_only." This controls whether orbital localization is done before or after choosing the active space. (Region) Localizing first seems to give better results when the dimer MOs spread across both units.