Add more comprehensive unit tests for Player objects.

Hopefully this will expose any issues between the parent/child process
protocol.
Have output closed when player is stopped.

Hopefully this will keep PulseAudio connections from becoming
unresponsive while paused.