Resolve #43 - Create NameReformatter type to reformat names.

The first implementation transforms PascalCase to lowercase_underscore_separated
but more implementations may be created as needed.