ham-spin: add method to build J and U part seperatly
Do cout statement in OpenMP critical region
Add GenerateDate method to ham-spin

Not yet optimal
Free memory sooner and fix small bug
Reworked diagonalisation of ham-spin and updated main

The main now has support for the ham-spin