fix bug in mat->sbml translation

Reading in a mat model did not set the compartment, and writing an SBML
model would fail if compartment was None, causing the following code to
error out:

```
>>> import cobra.test
>>> cobra.io.write_sbml_model(cobra.io.load_matlab_model(cobra.test.ecoli_mat,
    "test.xml")
```

This commit fixes both issues and adds a unit test to ensure all model
loaders appropriately set the compartment.
upgrade cobra.external.six to 1.7.3
Update version.py

Update to aebrahim/python-git-version@e4b1833
cplex bug when setting paramter in solve_problem
cobra.io.mat dict construction is its own function

The create_mat_dict function may be useful when using sosmethig other
than scipy to write the mat file. The dict created contains vectors
matching the structure of the MATLAB COBRA toolbox struct.
README.md points to github site

Replaces the link to the older sourceforge site.
load_matlab_model reads subsystem
Improve setup.py on MacOS X

Running bdist_wheel will now append additional tag versions
automatically. Additionally, warnings for unused functions in clang are
now silenced to highlight other wanings which may signal issues.
update VERSION file on sdist/bdist_wheel
DictList Exception incorrectly formatted

The exception printed out the repr of the id function instead of the id
of the object which could not be added.
fix misspelling in documentation conf.py

mathjax cdn url was not being set to https because of this.
Deletion worker detects errors

If the solver crashes or fails, even when in a separate thread, an
exception is raised instead of using "0" as the value
deletion of 0 flux reactions already known

If an optimal solution has 0 flux through the target deletions, then the
objective value will not change by constraining those reactions to 0.
Using set operations, cobra can avoid sending these cases to the lp
solver and use the known wild-type objective value.
Add ability to compile gene_reaction_rule

For most gene reaction rules, compiling the string allows a direct eval
using a substitution dict to desribe the activation state of the genes
allows for much faster computation than using regular expressions and
string manipulations to transform the expression to a satement without
substitutions.

This enables detecting and using gene_reaction_rules which can be
compiled. This is now done by default for double gene deletions.
deletion_worker read sol before reset

Some solvers (such as cplex) invalidate the solution when changing an
LP. Therefore, resetting the problem before getting the solution caused
failure. Now the solution is read before the problem is reset.
add optional progressbar to double deletions

uses the IProgress package