Raise an error when sending a command from idle mode.
Make sure the socket has a reason to be open before closing
So we can test with 1.9
Don't allow a command to be sent while in idle (other than noidle)
WIP: Disable check_idle for now
Improved handling of noidle command.

"noidle" will now simply return nil, always, as it should.
Support connection via UNIX socket.

And the config command as well.
Fix typo
plchanges and plchangesposid are multi-response commands
Add support for the findadd command.
Improved dynamic getter
Use NilHash class so that calling undefined methods doesn't blow up.

Previously, for example, if a song doesn't return a "disc" entry, then
response.disc would raise NoMethodError, while response["disc"] would
return nil. Now they'll both return nil. Unfortunately, so will calling
any "getter" method on the NilHash, but I think that's OK for how these
hashes are being used.
Adds with_io method

Allows for easier use of idle command.
Adds ability to send a block to the idle command

The block will be passed the MPD socket object, for use with IO.select
or the like. When the block returns, noidle will be called.
Bump version