Fix song list update flow.

- Used to fail when either the songs in the list or the team members were empty.
- Also fix the transaction to catch any exceptions.
Add integration tests for the song list flow.
Set up travis