+ *
+ * @param {string} key Name of bucket
+ * @param {Object} options Bucket configuration options
+ * @param {Object} options.buckets List of bucket-name/relative-probability pairs (required,
+ * must have at least one pair)
+ * @param {number} options.version Version of bucket test, changing this forces rebucketing
+ * (optional, default: 0)
+ * @param {number} options.expires Length of time (in days) until the user gets rebucketed
+ * (optional, default: 30)
+ * @return {string} Bucket name - the randomly chosen key of the options.buckets object