sanitize_code
Sanitized IDs are tab-completion compatible again.

Metabolites and reactions have 'nice_id' attribute after sanitation that contains the original simpheny ID.
Updated optlang requirement so changing names actually works with the solver interface.
Quick fix in heuristics/objective_functions.py
Merge pull request #12 from biosustain/sanitize_ids

Sanitize crippled simpheny IDs