Added typespecs on all exported functions

Made sure all exported types do have a typespec is useful in build scenarios
where the erlang compile options
[warnings_as_errors, warn_missing_spec]
are used.

A few type errors found by Dialyzer are corrected too.

	modified:   src/jsx.erl
	modified:   src/jsx_config.erl
	modified:   src/jsx_config.hrl
	modified:   src/jsx_decoder.erl
	modified:   src/jsx_parser.erl
	modified:   src/jsx_to_json.erl
	modified:   src/jsx_to_term.erl
	modified:   src/jsx_verify.erl
Merge pull request #40 from olabackstrom/develop

Added typespecs on all exported functions, and fixed
formatting fixes

cleanup line spacing
formatting fixes

fix line spacing issues
update contributors
added more contributors
remove post_decode support
remove pre_encode support
remove superfluous parser states
remove deprecated functions
delegate almost all responsibility of encoder to parser to simplify
internals
merge jsx_strings and jsx_parser
rename `explicit_end` to `stream` in prep for behavior change
incomplete input now results in an error when parsing json or jsx
internal form

streaming decoding is now only available when forced with the
`stream` option and no longer returns until forced to via the
token `end_stream`. this api is still subject to being replaced
with an even more explicit streaming mode
remove deprecated option flags handling
fix bad utf8 encodings by default (convert to u+FFFD)

this (temporarily, i hope) removes the fast path for handling
strings internally without escaping or replacing bad utf8
comments allowed by default. pragmatism 1 literalists 0
minor refactor of jsx_decoder
refactor options to complete mission: more pragmatism
refactor test suite for additional completeness and clarity