Re-enable type name demangling

This changeset re-implements type name demangling so that it does not introduce dependency on Boost.Units and still provide improved diagnostic messages to users.