Refactor to fix default values.

This refactor removes many of the back and forth conversions between erlang
abstract format and string representation. This means there's much less
effort in keeping the records as they were intended, especially during a
'from_json/1' call, where the default record is needed.

This means making a module from just a record definition is less feasible.
Since this is a feature that is on its way out anyway, I'm okay with that.

Also cleaned up some whitespace.
Added information about carefulness.
Merge pull request #10 from lordnull/bug-mw-use-abstract-during-parse

Use abstract during parse