Make 'Bucket.delete_keys' return a useful result.

Result is a list of (key, success) tuples, one per requested key.

Fixes #161.

Addresses #160 (users who want to delete without raising can use
'Bucket.delete_keys([key])' instead of 'Bucket.delete_key(key)').
Given that the user built up a list of N keys to be deleted, wouldn't having a list of N results be a "normal" kind of result?

I'd really like not to introduce *more* bimodal APIs, if possible.  If we really don't want to return a result-per-requested-key, then have the user pass in a list for the failures, and we insert them into that list (skipping the insertion by default).  we could then return a tuple, `(succeeded, failed)` of counts no matter what.