BUG: Use ontology terms for EBI investigation_type

Use the terms stored in the database and add a new argument, `new_investigation_type`, which is only relevant if the value passed in `investigation_type` is `Other`.

See issue #405.

NOT READY FOR MERGE - I couldn't run the tests in my system.
Hmm okay I guess that makes sense. Just the same, it might be nice to know whether a checked term is part of the actual ontology, or part of the addenda added by users, so maybe this function should return three possible values: `"not_ontology"`, `"user_defined"`, and `"ontology"`?