Add support for variable and heterogeneous polynomial order to preconditioners
As of issue #6 (closed), we have reasonably complete support for variable and heterogeneous polynomial orders in two- and three-dimensions. However, the preconditioning of these systems still needs to be addressed. In particular, the low energy preconditioner should be extended to support the use of variable and heterogeneous p.