Better return codes documentation
Massively improved test suite
Using JSONResponse as default
Moved all track relationships to Track
User resource
Returning a 409 on DB write error
Defensive programming
Returning 400 if information is missing

In this case on a PUT to the /artists resource.
Tracks can't change file

If a track was created with a given file, it cannot be changed. The resource
has to be `DELETE`d and a new track created.