Customizable Field Names

Contained in this pull request:
* Ability to customize all of the standard field names that appear in the JSON output.
* Ability to have MDC and context properties be in a sub object in the JSON output (as opposed to the root object)
* Ability to disable MDC and context properties from being output
* Unit tests for all of the above
* Documentation for all of the above.  (README.md and javadoc)
* Also moved the deprecated functionality documentation to a separate file (DEPRECATED.md, which is linked from README.md), since the main README.md was getting a bit long.