Add DOFMap output class

As described in #4155 this output module dumps the degrees-of-freedom map in JSON format to a file and/or the screen. JSON is a widely supported text based serialization format. 

Besides the raw DOF data I'm also outputting active kernels for every subdomain (names and type names!). 
Any reason you can't use `libMesh::demangle()` (see print_trace.h in libmesh) instead of writing your own?  Who defines `HAVE_CXA_DEMANGLE`?