Add block preconditioner for HDG
This MR adds a block preconditioner for the HDG system, based on the inverse of each HDG face block, which reduces iteration counts significantly for hybrid 3D elements in comparison to the usual Jacobi preconditioner. 2/3D and parallel execution is supported. Documentation has also been added to the developer guide, based on what is presently in the Nektar++ wiki.
Note that there are no tests as part of this branch, since there is no real testing framework for the preconditioners at all. Hopefully this will be added later!