Merged development from master into dev

The master branch should always have a working, deployable version of the API. Pull requests should be made against the dev branch, from which we will create "releases" (for now we can just use a tag) of working code, and merge that into master. That will prevent epic merge conflicts, and provide us with the ability to easily roll back to a previous version if a critical bug makes it to the master branch somehow.