REST API for models, first commit

Experiments POST and GET work already. Work in progress
made __unicode__ on some models return something more intelligible than "Does not exist" and a traceback
Refactored parameter objects to be more DRY, added parameteresetmanager functions to parametersets by mixin
API now works for Experiments and Datasets, Datafiles untested.

API accepts string and URI identifiers in POSTs for schemas and parameter names. Other methods untested
POSTing works for most objects now. Metadata cannot be posted separately yet.
Added some tests and added my tastypie fork to setup.py. POSTing files won't work without until they accept my pull request of a bugfix
changed file POST syntax. added insecure file download DO NOT USE IN PRODUCTION
added access control to file downloads
many file POST tests and a bug fix in the api