JCBC-525: More Document and Transcoder Types.

Motivation
---------
In order to support all possible JSON values and also implement the "common flags"
SDK interoperability proposal, this changeset adds more document types and
transcoders.

It is a non-breaking change and just adds additional capabilities.

Modifications
-------------
The following document types and transcoders have been added:

	- (JsonDocument) -> json objects
	- JsonArrayDocument -> json arrays
	- JsonBooleanDocument -> json booleans
	- JsonDoubleDocument -> json double
	- JsonLongDocument -> json long
	- JsonStringDocument -> json string (quoted)

	- StringDocument -> string (as passed in)
	- SerializableDocument -> serializable
	- BinaryDocument -> passthrough binary data
	- LegacyDocument -> 1.* and spy compat

Result
------
More documents added and compatible with common flags.

Change-Id: I331a62db595ae4ea1c05bb51b0cad798356c76d9
Reviewed-on: http://review.couchbase.org/41131
Reviewed-by: Michael Nitschinger <michael.nitschinger@couchbase.com>
Tested-by: Michael Nitschinger <michael.nitschinger@couchbase.com>