Start replacing select.select() for select.poll()
Move poll() logic to it's own class, and adapt Supervisor to use it.

Also fixing the poll() usage, my previous commit was registering all
file descriptors to all events, now register just on the expected events.
Remove select() method from Options class used by Supervisor
Ignores and unregisters closed file descriptors on poll()
Adjust log message to be more explicit
Handle POLLHUP on poll()
Add kqueue() support for poller
Add select() support for poller when no poll() or kqueue() is available. Make all tests pass for py>=2.5
Handle EBADF on kqueue poller backend
Use set instead of list for readables and writables on SelectPoller
Restore kqueue after daemonize because it's not inherited on fork()
Remove file descriptor from sets on unregister() for kqueue poller
Make test_socket_manager tests pass on PyPy

by applying patch from pjenvey on IRC:
http://paste.ofcode.org/a588X46F8gNdFDSHDtK5NP
.travis.yml: Add pypy but allow fail

Conflicts:
	.travis.yml
Fix error name 'raw_input' is not defined (for Python3)
Add raw_input import for Python 3 compat
Add docs/conf.py and docs/Makefile to manifest. Closes #473
Add example scripts and test fixtures to manifest.  Refs #473
remove unused codepaths, since we now only support 2.6+ we can rely on iterparse being available, add some tests
full unit test coverage for xmlrpc module, remove some python 2.5 compatibility code