Merge pull request #36 from naumov91/master

Updating and correcting instructions for VS solution
Bugfix in utility function.
Added a set_labels function that set the label of tetrahedra inside a geometry.
Added a geometry that can contain several geometries. Also added an inverse cube (a point is inside if it is outside or on the border of the cube).
Using a MultipleGeometry as the design domain which means it is possible to combine geometries to create more advanced design domains.
Any geometry can now be inverted (is_inside function returns true when the point is outside the geometry)
Added a function that projects a point onto the surface of a geometry.
Split functions does not return a node key to the new node.
Allow collapses on unsafe editable edges if the neighbourhood is flat enough.
Added a function that determines whether a neighbourhood is flat.
Boundary is not unsafe editable.
Adaptive mesh based on flattness (if interface/boundary is flat then larger triangles are used and vv)
Only performs thinning of interface when the interface is sufficiently flat.
Removed the signed_area function from utility.