Minor comment in asyncore.handle_read()
Expose LIBEV_ERROR in libevwrapper.c
Whitespace cleanup in util.py
Ensure reconnector runs after failed host setup
Explicitly shutdown conn after prepared stmt failure
Use WeakValueDictionary for prepared statements

When nodes are added or come back up after being down,
all known prepared statements are re-prepared on them.
In order to avoid preparing statements that will never
be used again, we'll use a dictionary of weak references
to the statements so that once they are GC'ed, they are
removed from our cache.
Only log when host pool is actually removed
Add is_pending() for libev IO watchers
Libev performance, safety, and error handling improvements

This commit does several things:
 * check for LIBEV_ERROR flags on read and write notifications.
   (Typically socket.recv() or socket.send() will error correctly,
    but it's safer to also check for this flag in multithreaded
    environments.)
 * Use a separate lock for maniuplating the queue of pending
   messages to be sent
 * Notify the event loop of watcher changes more frequently in
   order to avoid waiting to execute pending events
Update unit tests for libev changes
Specify version in install instructions

Earlier beta versions (eg 1.0.0-beta4) used a non-PEP426 compliant version
which happens to sort higher than the compliant version (eg 1.0.0b6),
so to ensure the correct version is installed, the version must
explicitly be specified.