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 you could reduce code duplication here:
```python
if self.investigation_type == 'Other':
    key = self.new_investigation_type
else:
    key = self.investigation_type

self.library_strategy = lib_strategies.get(
    key, "OTHER")
self.library_source = lib_sources.get(
    key, "METAGENOMIC")
self.library_selection = lib_selections.get(
    key, "unspecified")
```