Refactored LogstashFormatter to use the jackson streaming api where possible.

This results in a measured 10% performance gain.

The only functional change is that the 'tags' field is no longer written if there are no tags.

The unit tests provided accurate functional coverage to verify that no other functional changes were made,
and the resulting json is structurally the same as the previous json
(although field ordering is not guaranteed to be the same).
Convert LogstashAccessFormatter to using Jackson streaming apis for better performance
Added new/flexible way of adding custom event-specific fields to the logstash json event using Markers.

Deprecated old way of using "JSON" marker and using enableContextMap config.

The new way is much more flexible and intuitive.

Updated README.md with lots of documentation on how to use the Markers to add custom event-specific fields to the logstash json event.
Fixed an error in README.md
Remove concept of 'embed'.  Instead always use 'append'.
Method/class names will specify what is being appended.

For example, embed(map) is now appendEntries(map).

This simplifies class/method naming, and minimizes the concepts
that the user has to understand.  'Append' is universally understood.
Deprecated some more usages of enableContextMap
Merge pull request #39 from philsttr/master

Use Jackson Streaming API, and add an extensible way to add event-specific fields to json output