Fix duplicate header guard.
Add another convenience symbol demangling method.

We already had:

string foo_name = demangledTypeName<FooType>();

which works great for typenames, but we were missing the equivalent for specific
instances:

FooType foo;
string foo_name = demangledTypeName(foo);

...which works well for polymorphic types, returning the derived-most name.
Merge pull request #66 from pal-robotics/master

Fix duplicate header guard + minor maintenance.