Migrate HTTP server to httpcomponents

The built-in JDK http server does not handle keepalive very well, and
uses a rather opaque model that makes it difficult for us to fine-grain
HTTP behavior, which may be needed during subsequent modifications.
Depend on only a single JSON library

I'm using GSON here since most of the code already uses it.
Removed unsued maven files
Allow base64 to accept byte[] as input
Add UTF8/b64 item wrappers
Add Couchbase Views

This draws upon some work of Sergey Avseyev (who provided the initial
view implementation) and Brett Lawson (who provided the core of the
bundled javascript implementation).

This utilizes a mostly-in-javascript implementation of indexing and
returning documents per the view interface.

It adds a hard dependency on the Rhino Javascript engine (skipping
entirely over any ScriptEngine implementation built in to JDKs, as they
are stripped down and unreliable for our purpose).
Update .idea files
Allow to load docs from command line
Update mock version to 1.0.0
BucketStreamingHandler should check if socket is closed

Otherwise we risk having this hang infinitely until the app exits (or a
bucket update actually happens).
Support the $bucket/ddoc path
Add enhanced stats support

This adds additional support for non-default stats, as well
as implementing the special __MOCK__ stat. It is intended
that other mock implementations should implement this
(perhaps along with a supported featureset) so that test
code can check at runtime whether the server is a mock
or not.
Refactor bucket creation

This will allow bucket creation to also take place on the fly
Allow cluster management operations

Currently this is limited to adding and removing buckets
Update test client to latest 1.x version (1.4.6)
Use JUnit 4
Add more view system tests from JCBC

This uses a modified version of JCBC's own tests to test our own views
implementation.