Add get_value/2 and get_value/3.

These work the same as proplists:get_value but should be faster because they
use the fact that the dictionary is ordered.
Accept iodata() when parsing.

These functions are currently declared to accept iolist(), but they accept
binaries just as well, so they should accept iodata().
Allow the Erlang empty tuple {} to represent an empty JSON struct.

Without this, it is impossible to represent the JSON {"foo": {}}, because
erlson turns an empty Erlang proplist into an empty JSON list.
Merge branch 'empty-struct' into ewanmellor-master
Merge branch 'iodata' into ewanmellor-master
Merge branch 'get-value' into ewanmellor-master