Merge pull request #7 from ewanmellor/iodata

Accept iodata() when parsing.
Merge pull request #8 from ewanmellor/get-value

Add get_value/2 and get_value/3.
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').
Fix README formatting
Add support for Erlang R16A
Add THANKS file
Revert "Allow the Erlang empty tuple {} to represent an empty JSON struct."

This reverts commit d0927ac7963cc9807290487460c310ada68d2a3f.

Upstream has chosen a different syntax for the empty JSON struct:
{json, "{}"}.  I can't say that I'm a fan, but reverting this change in
favor of upstream nonetheless.
Merge remote-tracking branch 'origin/master' into ewanmellor-master