In Silico Constraint-Based Strain Optimization Methods: the Quest for Optimal Cell Factories