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)').
We could even *reuse* (abuse?) the list of keys passed in by the user, e.g.:

    for i, key in enumerate(keys):
        try:
            self.delete_key(key)
        except exceptions.NotFoundError:
            keys[i] = (key, False)
        else:
            keys[i] = (key, True)
    return keys

Which preserves the original list's allocation, and adds overhead of a single tuple + boolean to the items.