Enabled maximum test coverage

Previously, one had to choose between either running the tests against a
real server, or running them against the mock. This was unfortunate as
there were some tests which only functioned on the mock and not on the
real servers, and vice versa

This change allows tests to be executed against the "best" option by
providing several new test classes:

ConnectionTestCase: Generic connection. Either mock or real server
MockTestCase: Only use mock for these tests
RealServerTestCase: Only test against real servers

Reflecting these configuration options, the configuration file may
enable either the mock or the real server or both.

Change-Id: I99deb5b0e04c99faf7c710e763d8a2d4ba41517b
Reviewed-on: http://review.couchbase.org/29309
Reviewed-by: Pavel Paulau <pavel.paulau@gmail.com>
Reviewed-by: Volker Mische <volker.mische@gmail.com>
Tested-by: Mark Nunberg <mnunberg@haskalah.org>