Add helpers for nested attributes

getattrpath is for nested retrieval (getting obj.a.b.c with
getattrpath(obj, 'a.b.c))

prefix_keys generates key, value pairs with the prefix prepended to each
key.
Refactor registration, swapped format ordering

name=format instead of format=name

improved how to index into class serialization metadata