Moved documentation to separate doc file.
Handle default values and empty readers better.

LoadReader: Now correctly handles an empty reader and initializes
	the full config tree to their Defaulter values.
SaveWriter: Now properly indents the result as was documented before.

Defaulter: Default values won't show up in the resulting JSON
	when calling MarshalJSON anymore. This improves usability because
	the configuration file won't be full of default values.

tests/general: Rewrote error messages for some of the tests
tests/new: Added a test for Defaulter values.