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.
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
add build script.
move jrubyVersion to build.gradle.
add eclipse specific settings.
modify Rakefile for JRuby and add minimum skelton java codes for rspec.
split Watchers.
add Loop skeleton.
add Utils.
add IOBuffer
add Netty4 to dependency.
add compile task and javaclean task to Rakefile.
split build.gradle
sandbox code.