This merge from element-numbering branch implements trace spaces as a mesh_type. This required to change the interface of allocate_element to allocate_element(element, ele_num, ngi, type, stat) where ele_num is the element numbering type. Therefore I had to change the interface in various places.
Added trace spaces as a mesh type to mesh_options.rn*, and included it as an option in shallow water options. This hasn't been included in Fluidity yet (could do if there was a demand for it) so no changes to fluidity_options.rn*.
Added Test_Trace_Space.F90 to tools, which tests allocating the mesh in populate state from options, and then does some numbering checks on the resulting field.