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.
I think the best test would be:
1. Check the number of rows in the table before the insertion (use `qiita_db.util.get_count`)
2. Assert that your new term is not in the table
3. Do the insert
4. Check that the number of rows is one greater than before (use either the same function or `qiita_db.util.check_count`)
5. Assert that your new term is in the list

This should assure that you are only inserting one row with this function, that it is exactly the row that you want, and will be robust to other changes to the table.