JVMCBC-663: Correctly escape Json in toString()

Motivation
----------
The Json specification indicates that control characters in Json must
be escaped. A subset of characters have a simple escape sequence with
an antislash (eg: \n, \b) while other must be represented in unicode 16
bits representation \uXXXX.

JsonObject and JsonArray currently don't produce escaped Json via their
toString methods.

Modifications
-------------
Modified JsonArray and JsonObject toString methods so that they rely on
the underlying Jackson transcoder to produce an output that is correct
in respect to Json escaping.

Added escaping tests for special characters.

Result
------
Adding a String that contains special characters like a carriage return
in a JsonObject or JsonArray now produce correctly escaped Json when
toString is called. New tests validate that.

Change-Id: I04cc7aa87c11a7b9ec28a70237230bdbb6a6936c
Reviewed-on: http://review.couchbase.org/44574
Tested-by: Simon Baslé <simon@couchbase.com>
Reviewed-by: Michael Nitschinger <michael.nitschinger@couchbase.com>
Reviewed-on: http://review.couchbase.org/44700
Tested-by: Michael Nitschinger <michael.nitschinger@couchbase.com>
Reviewed-by: Simon Baslé <simon@couchbase.com>