Feature/new interface integration part6

* Integrates editExperiment page with the pages for create and edit experiment.
* Receives form input and processes it for database updates
* Updates the experiment model to remove old methods surrounding `track_number` and adds convenience methods for adding tracks and updating track weightings 

Note: Tests do not pass in this pull request; this will be fixed in a subsequent pull request.
The request is passed by angular with Content-Type of json right?  So, would it be a bit more agnostic to do something like:
```
data = json.loads(request.body)
experiment_json = data['experiment']
```
?