CreateBucket creates and returns a new nested bucket with the given key.

The interface contract guarantees at least the following errors will be returned (other implementation-specific errors are possible):

- ErrBucketExists if the bucket already exists
- ErrBucketNameRequired if the key is empty
- ErrIncompatibleValue if the key is otherwise invalid for the
  particular implementation
- ErrTxNotWritable if attempted against a read-only transaction
- ErrTxClosed if the transaction has already been closed

CreateBucket is referenced in 2 repositories