Bugfix: avoid division by zero
First lowest order implementation of gravity wave solver

Implemented a preconditioned solver for the mixed gravity wave system which works at lowest order. Need to double check the boundary conditions on u, I don't think they are implemented correctly at the moment.