JVMCBC-101: Avoid failing bootstrap when some nodes are uninitialized.

Motivation
----------
When some of the nodes are returning errors (for example because they
are reachable, but uninitialized), they should be ignored - since
others can return valid results.

Important is though that if all are returning errors, it still needs
to be propagated to the upper layers.

Modifications
-------------
The code now uses mergeDelayError to delay the error until the end.
If one successful config arrives, take(1) makes sure to unsubscribe
and the error never reaches the upper layer. If no successful config
can be taken, the error propagates.

Result
------
Better control when multiple nodes are passed in, and correct bootstrap
if some of them are uninitialized.

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