Transform config API

# Example JSON

## Transform Type

```
{
    "id": "6bc8c75c-f000-478c-ae61-626bf0eefe3a",
    "function": "backdrop.transform.cumulative",
    "schema": {
        ...a json schema to define options...
    },
    "name": "A transformooasd"
}
```

## Transform

```
{
    "input": {
        "data-group": "datagroup1",
        "data-type": "datatype1"
    },
    "output": {
        "data-type": "datatype2"
    },
    "type": {
        "function": "backdrop.transform.cumulative",
        "id": "6bc8c75c-f000-478c-ae61-626bf0eefe3a"
    },
    "id": "e56d12dd-9a48-41ef-aa4d-4395a75e8103",
    "options": {
        ...options that conform to the schema of the type...
    }
}
```