[WIP] Supporting higher order nodes

DO NOT MERGE THIS PR! It's not completed yet.

A list of what to be changed for higher order elements
- ~~Default behavior of `getNNodes()` is changed to return the number of all nodes. currently it returns only base nodes.~~
- Edge and face nodes are different from linear elements
- Content calculations (i.e. length, area, volume) become different from linear one
- Edge length cannot be used as a search length anymore
- BoostVtuInterface
- We need to somehow be able to get a vector of linear nodes or quadratic nodes or cubic nodes, which will be passed to `MeshSubset`
- Converter from a linear mesh to a higher order one
- `Mesh::setNodesConnectedByEdges()`
- `MeshNodeSearcher::getMeshNodeIDForPoint()`: nearest node can be different depending on order
- `MeshNodeSearcher`: pass only nodes to be searched instead of an entire mesh object? 
- some more?