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.
But if this is on the test database using the test data, there shouldn't be anything there, right? You're explicitly checking that with the 'test_user_defined_terms' test.