Logging custom annotations for PHOENIX-1198

This PR adds custom annotations to log lines generated in Phoenix's client-side code. It builds on PR https://github.com/apache/phoenix/pull/13 and uses the same mechanism to pass custom annotations to connections. These custom annotations are only added to client-side code logging that is within the context of a user operation (meaning a PhoenixConnection is available). No new log lines are added here. Only existing log lines are changed.

Usage:
1. Add custom annotation properties when creating a Phoenix Connection. e.g. `phoenix.trace.custom.annotation.a1=v1`
2. Log lines in (some of) Phoenix's client-side code would look like this: `{a1=v1} something logged`

Ignore the following files here, since they are covered in PR #13: BaseTracingTestIT.java, PhoenixTracingEndToEndIT.java, TraceReader.java, Tracing.java, JDBCUtilTest.java

@jtaylor-sfdc 


This seems a strange way to handle it, when used in practice. Its not entirely clear that all the log elements should be annotated. In fact, it would be nice, at least in this initial pass, to separate the logging from the tracing in terms of the per-connection annotations.