Consistent element neighbors

Small change in the element neighbour search.
An Element ```e``` will now only store neighbours that have the same dimensionality as ```e``` (i.e. line elements in 2D meshes will no longer count as neighbours of triangles and vice versa).
This is based on the discussion in # and an alternative solution to #207.
Comparing neighbors of elements is now consistent, i.e. if ```element1``` has a neighbour ```element2```, then ```element2``` will also have a neighbour ```element1```. Before this wasn't guaranteed, e.g. when 1D elements were part of a 2D mesh.