Allow asynchronous connections

This patch allows to use Bucket instance in completely asynchronous
environment like this, without blocking on connect:

  conn = Couchbase.new(:async => true)
  conn.run do
    conn.on_connect do |res|
      if res.success?
        #
        # schedule async requests
        #
      end
    end
  end

Change-Id: I8be3f6e687591019c9bb21ada097ca137933ce48
Reviewed-on: http://review.couchbase.org/23703
Reviewed-by: Sergey Avseyev <sergey.avseyev@gmail.com>
Tested-by: Sergey Avseyev <sergey.avseyev@gmail.com>