'Create a multi. Responds with 409 Conflict if it already exists.'

@require_oauth2_scope('subscribe')
@validate(VUser(), VModhash(), path_info=VMultiPath('multipath', required=False), data=VValidatedJSON('model', multi_json_spec))
@api_doc(api_section.multis, extends=GET_multi)
def POST_multi(self, path_info, data):

    if ((not path_info) and ('path' in data)):
        path_info = VMultiPath('').run(data['path'])
    elif ('display_name' in data):
        path = LabeledMulti.slugify(c.user, data['display_name'])
        path_info = VMultiPath('').run(path)
    if (not path_info):
        raise RedditError('BAD_MULTI_PATH', code=400)
    owner = self._check_new_multi_path(path_info)
    try:
        LabeledMulti._byID(path_info['path'])
    except tdb_cassandra.NotFound:
        multi = LabeledMulti.create(path_info['path'], owner)
        response.status = 201
    else:
        raise RedditError('MULTI_EXISTS', code=409, fields='multipath')
    self._write_multi_data(multi, data)
    return self._format_multi(multi)
