Jb nc new

P0 and P1 non-compatible couplings for darcy flow.
- implement calculation of non-compatible intersections, still use N^2 algorithm
   since BIHTree is not yet reliable
- assembler classes for both P0 and P1 method
Both support general 2d-1d coupling on arbitrary mesh.

- try to clean-up ngh code, much more can be done using armadillo instead of Vector and Point classes
- implementation of LinSys::set_values with support of elimination of Dirichlet constrains
- better BoundingBox implementation
- try to fix BIHTree, need better tests