Bucket should be go-routine safe and should be able to refresh() in a go-routine safe manner.

Moved json info in Bucket into a seperate BucketInfo type. Protected access to it.
Added a retry limit to the Do() function, for preventing it from blocking forever.
(*Bucket)refresh() returns the acquired bucketInfo as well.
Do() calls vbHash() again after a NOT_MY_VBUCKET error.