Fix a bug that #close for unconnected Socket doesn't detach all watchers

`Coolio::IO#close` should detach all own watchers. But `#close` of
`Coolio::Socket (< Coolio::IO)` doesn't detach all own watchers when
the socket isn't connected yet.

`Coolio::IO#close` detaches attached watchers. It uses
`Coolio::IO#attached?` to detect an attached watcher.

`Coolio::Socket` delegates some operations such as attach and detach
to its internal connector before the socket is connected yet. But it
doesn't delegate `#attached?`. So `Coolio::IO#close` can't detect an
attached watcher by its internal connector. So an attached watcher
isn't detached by `#close`.

See the committed spec how to reproduce this problem.
use standard api instead of platform dependent literal.
Merge pull request #34 from taichi/hosts

use standard api instead of platform dependent literal.
Remove needless `:env => :win`

`:env => :win` means that the example doesn't run on Windows. The
example should work on Windows. So `:env => :win` should not be
specified.

Reported by Masahiro Nakagawa. Thanks!!!
Merge pull request #33 from kou/fix-socket-close-does-not-detach-all-watchers

Fix a bug that #close for unconnected Socket doesn't detach all watchers
Remove 1.8 support code
Remove unpopular one-line methods
Use :exclude_win instead of :win
Version bump to 1.2.4