This method allows us to accept key objects and key names (strings) in all the methods that accept the concept of a "key" (boto.s3 does it this way, and it works out nicely).

bucket.delete_key(...)

should accept a key object or a key name -- and I don't want to do the basestring / str checking everywhere... much nicer to do it here.