Contracts

This branch allows contracts as pdfs to be uploaded via the JSON API.  The front-end via angular will be completed in a separate branch.  Contracts will always belong to a parent object (tracks, albums, and users themselves).