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

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)').
Shouldn't there be
```python
                if on_error is not None:
                    on_error(key)
                else:
                    raise
```