Return vector from ExactDiagonalizeFull

Return all eigenvector and optionally calculate all eigenvectors.
In main loop, print lowest energy.
Added a bare hamiltonian

This is a base class for hamiltonians
Updated ham and ham2D class to use bare-hamiltonian
Use L instead of Ns for the number of sites
2D Hubbard: use arpack
Added class for 1D Hubbard in momentum base

The MomHamiltonian stores the 1D Hubbard hamiltonian in a block diagonal
matrix according to total momentum.
Update main.cpp to use the momentum hamiltonian
Merge branch 'mom'

* mom:
  Update main.cpp to use the momentum hamiltonian
  Added class for 1D Hubbard in momentum base
  2D Hubbard: use arpack
  Use L instead of Ns for the number of sites
  Updated ham and ham2D class to use bare-hamiltonian
  Added a bare hamiltonian
  In main loop, print lowest energy.
  Return vector from ExactDiagonalizeFull