watcher: fix more races

Since Event/Error channels are no longer buffered,
we need to consume outstanding values on those channels
in methods Subsystems and Close. The solution is ugly,
but hopefully fixes all remaining races.

The unit test is also much faster now, so we can
run it inside a loop to tigger races.
run gofmt -s
.travis.yml: check if code is gofmt'ed
remove copyright statement from package documentation
fix string quoting in mpd commands

Fixes issue #10 (on github)
server: start working on server (for use in testing)
server: implement playlist operations
server: remove unnecessary locks

not required because writeResponse is wrapped inside
StartResponse/EndResponse
server: implement command list
server: various fixes & implement next/previous
server: implement idle command
minor fixes in tests
server: unexport all identifiers
use Go MPD server for tests

--HG--
rename : server/server.go => mpd/server.go
fix some golint suggestions
End lines with LF not CR-LF.