Merged requested to merge meshing/nektar:feature/varopti_NEW into master
This adds the variational mesh optimisation framework to NekMesh. Its now throughly tested for triangle, quad, tet and prism meshes along with triangle/quad and prism/tet hybrid meshes. Although not perfect we've got a pretty good grasp of how it behaves and why. Future work will be to move this code into a library as a "variational solver" where NekMesh utilises this along with alternative solvers.