Use val instead of def
remove song object
Clean-up MPDConnection

- Rename to MPDC
- Extract to trait
- Add synchronized MPDSync
  Otherwise problems occur when long-running commands run async
- Add factories for each type