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)').
Make 'Bucket.delete_keys' take an 'on_error' callback.

If passed, the callback will be called once for each key not found,
with the offending key.
Re-raise NotFound error from 'Bucket.delete_keys' if no callback passed.
Merge pull request #312 from tseaver/161-bucket-delete_keys-useful_result

Fix #161: Make 'Bucket.delete_keys' take an 'on_error' callback