Add support for quoted JSON represented as {json, iodata()} (close #6)

When erlson:to_json/1 function processes such values, it will write the iodata()
part straight into JSON output.

This way, {json, "{}"} will turn into {} in JSON output.

Before this change, there was no way to generate empty JSON object from Erlson.
Add ?erlson_default/1 and ?erlson_default/2 macros

?erlson_default(X.foo, Default) will return the provided Default value if field
"foo" is missing in the record.

?erlson_default(X.foo) is the same as ?erlson_default(X.foo, 'undefined').