Sets user-defined metadata, making sure information all models should have
    is also available

def _set_model_metadata(mlmodel, model_class, metadata, version=None):
    """
    Sets user-defined metadata, making sure information all models should have
    is also available
    """
    info = _get_model_metadata(model_class, metadata, version)
    mlmodel.user_defined_metadata.update(info)