Using Lapack to find eigenpairs.

Through JNA, access the Lapack library to find the eigenpairs of the
Hamiltonian matrix to find the electronic wavefunctions. 1st attempt is
using the 'NativeLong' type, but I should possibly be using the 'short'
primitive.
Minor API + performance tweaks.

Improved versatility of ConvergenceTester and used it in the SORSolver.
Changed ODESolver API to make it apply better to both Poisson and
Schrodinger solver simultaneously.
Pre-merge commit.

merging minor_tweaks branch with lapack
Merge branch 'minor_tweaks' into lapack
Ending JNA-Lapack experiment.

I was unable to successfully make JNA link to liblapack.dll. Missing
dependencies and 32/64-bit compatibility issues seem to be the problem.
Attempting to use MTJ instead:
https://github.com/fommil/matrix-toolkits-java.

In the meantime, I have cleaned up some imports in several modules. I
have also added a method in the Function class to evaluate a fcn object
at an index in addition to a specified x value

Warning: constants in the SchrodingerSolver class were changed for
testing purposes, but should be changed back after tests have been run
1st trial of MTJ.

I have rewritten the FiniteDifferenceSolver to use the MTJ toolkit. I
don't know if I have taken full advantage of the library, but I just
want it to work at the moment.

My attempt at testing failed due to some not immediately obvious out of
bounds index. Will investigate further