Anisotropic polarizabilities
This PR adds anisotropic polarizabilities that @JoshRackers and I worked on during his visit. Note that it also contains the fix described in #33, so that I could test the changes. I have not addressed OPT yet, because this is already quite a large patch. Once merged (or ignored if you don't want this feature) I can address OPT and fix the long-standing virial bug. The current implementation assumes that the permanent multipole axes also define the anisotropy orientations. Implicit to this is the fact that the permanent moment axes are chosen as the natural axes (i.e. those that diagonalize the polarizability tensor) because we only receive xx, yy and zz components from the user. Generalization to arbitrary tensors would be very trivial. The input mechanism currently looks like:
apolarize atom_type Axx Ayy Azz thole_damping groups
For example, the water oxygen (with fictitious parameters) would look something like:
apolarize 36 0.8370 0.0370 0.7370 0.3900 37
I should also add that I have not been able to extensively test the implicit solvation code, so that will need some scrutiny. The performance of the two-body terms in the approximate preconditioner seems to have degraded, so perhaps the averaging of the polarizabilities in that term is not the best choice.