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).
@rinkk I'm not sure if my change here causes any trouble in other places. I wanted to make all the edge directions counter-clockwise. How do you think?