rule_logger: Incremental rule logging cleanup. There are several improvements here.

  1. Operators that are inverted are now logged with a ! preceeding
     their name.
  2. Stack-allocated buffers are removed and replaced with a single
     memory pool per logging call, which is released at the end
     of logging. (More should be made of this pool to reduce
     duplicate logging statements).
  3. Field format code has been moved into rule logging as it is
     the only code that does this. It was also split
     into a quoting formatter and a separate escaping formatter.
     Both of these new static functions conform to IronBee's API
     patterns.
rule_logger: Removing dead assignments.
predicate/pp.rb: Factor some generally useful code out into render.rb.
xrules: Guard against a request with no content type.
xrules: GeoIP rules now report when the input field is not a bytestr type.

Previously they would exit the hook with an error which may have caused
cascading failure.
predicate/render.rb: Fix bug in split_data().
predicate/render_ptrace.rb: Script to render predicate trace output in HTML.
predicate/pp.pdf: Round rectangles.
predicate/ptrace.pdf: Add documentation for PredicateTrace.
predicate/tests: Add smoke test for PredicateTest.
configure.ac: Fix issue with building with boost later than 1.39 but earlier than 1.49.
acinclude/ax_boost_suffix.m4: Fix typo in error message.
tests: Upgrade to gtest 1.7 (RNS-602).
libinjection: Fingerprints are never NULL, but can be zero length.