Extract VMC functionality from driver class
Created by: femtobit
This PR extracts the VMC functionality of NetKet from the driver class. Instead, separate functions implementing the VMC sampling and estimation of expectation values, variances, and gradients are now provided in vmc_sampling.{hpp,cc}
as part of the netket::vmc
namespace.
The Python functions still need documentation, which I will add soon. In the meantime, let me know what you think of the rest of the PR.