Boundary element generator

This changeset aims to provide a tool to extract boundary elements from an existing domain mesh. The boundary elements will be used when we applying 2nd and 3rd boundary condtions (i.e. we need to integrate shape functions over boundaries).
Edit to last comment: Is ```auto``` already giving a const ptr? (this is again why I am not such a big fan of auto ;))