FETools::get_fe_from_name() implemented for nonzero codimension

In addition to the new functionality, the internal structures mapping names to finite element factories have been improved, thus avoiding several specializations of functions.

This pull request fixes #86 (issue)
I think that this uses a C++11 extension: defaulted template arguments to functions. That's probably not going to work in general.

This is awkward because it requires an incompatible change for everyone using the function. I think I'd be ok with this, but it's at least annoying :-(