added flush

add the ability to flush a couchbase bucket

The basic algorithm is:

1. create a document for reference
2. call flush via the REST API
3.1 if status is 200 the flush was successful and is done
3.2 if status is 201 the flush was started but is not done yet
4. check for the reference doc if it is gone flush has finished successfully

To make this work the HTTP status is now exposed from the libcouchbase as part
of the return tuple.

Flush can be done to any bucket not just the one referenced in the connection
so I decided to expose this as a parameter, it might be more obvious to the
user so to make it always flush the current conencted bucket in this case the
bucket name would need to be exposed from the worker.
Well this is what all the test operate on, and it actually seems common across the couchbase test suites. But I agree. What do you think about making it a config option and by default pass a different bucket for all tests. This means people would actively have to change the bucket to default. I don't feel comfortable writing random keys by default anyway.