BLOCKER: Investigation type and ebi per preprocessed

This adds the possibility of setting investigation types and then submitting those to ebi.
I don't think there are any advantages to using a generator here, since it is only used in a `str.join` call below. There are not any particular disadvantages at this time, but could present difficult-to-diagnose bugs in the future if someone needs to use this generator between here and the call to `render`. For example:
```python
>>> x = (i for i in range(10))
>>> d = list(x)
>>> d
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> d2 = list(x)
>>> d2
[]
>>> 
```