Song transfer API

This PR adds an API to play songs that are stored on the mobile device.

The raw data is first transferred to the Espera server, stored in a temporary file and then added to the playlist.

- [x] Create a second socket for data transfer
- [x] Figure out why the heck the unit tests pass, but the exact same data can't be deserialized when it comes over the network
- [x] Store and actually play the song
- [ ] Add an option to disable song transfers
- [ ] Remove temporary files when Espera is closed or the song is removed from the playlist
- [ ] Disable voting for own transferred songs