public static void registerRocksDBColumnFamilyOptions(final String groupId, final Class<?> cls,
                                                          final ColumnFamilyOptions opts) {
        Requires.requireNonNull(cls, "cls");
        Requires.requireNonNull(opts, "opts");
        String key = buildKey(groupId, cls);
        if (columnFamilyOptionsTable.putIfAbsent(key, opts) != null) {
            throw new IllegalStateException("ColumnFamilyOptions with class key [" + key
                                            + "] has already been registered");
        }
    }
Users can register a custom rocksdb ColumnFamilyOptions, then the
related classes will get their options by the key of their own class
name.  If the user does not register an options, a default options
will be provided.

@param  groupId raft group id
@param cls  the key of ColumnFamilyOptions
@param opts the ColumnFamilyOptions
jraft-core/src/main/java/com/alipay/sofa/jraft/util/StorageOptionsFactory.java