Convert to new Locations Format

Locations becomes an array of available media. Create and Update
methods accept an array of mime types. If a particular peice of media
has multiple representations they should be sent as a comma-seperated
string of mime types.

Examples:

two jpeg images

```
"locations": ["image/jpeg", "image/jpeg"]
```

A single video encoded multiple ways

```
"locations": ["video/webm,video/mp4"]
```

Closes #369 Closes #341
Merge pull request #376 from edpaget/subject-api

Convert to new Locations Format