Added twisted-based event loop

This should address PYTHON-8.

- added unit tests
- import twistedreactor in cluster if libev is not available
- fixed unittest import and added copyright notice
Replace six.BytesIO with io.BytesIO for speed-up

On python 2.6 and 2.7, six.BytesIO maps to StringIO, which is slow:

https://github.com/kelp404/six/blob/master/six.py#L478

Python 2.6 and 2.7 provide the io module (for compatability with
the Python 3 io module), which defines a faster BytesIO implementation.
cProfile reveals a significant speedup when using the io module. Using
six.BytesIO:

   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
  ...
  2277792    9.736    0.000   13.088    0.000 /usr/lib64/python2.6/StringIO.py:208(write)

However with io.BytesIO:

  2277792    0.920    0.000    0.920    0.000 {method 'write' of '_bytesio._BytesIO' objects}

This will break on Python 2.5, but I think that's ok.
Merge pull request #143 from ccstolley/fix_slow_stringio

Replace six.BytesIO with io.BytesIO for speed-up
Use BytesIO for reduced CPU consumption

Relates to #143
Use io.BytesIO for collection serialization
Don't share prepared stmt lock across Cluster instances
Update changelog
Merge branch 'master' into twisted_event_loop
Use io.BytesIO instead of six.BytesIO
Remove unused methods
Minor refactor of loop state handling
Defunct where appropriate
Add twisted reactor to benchmarking tools
Prefer asyncore instead of Twisted
Update docs about available reactors
Update changelog
Update twisted reactor unit tests
Merge branch 'master' of https://github.com/datastax/python-driver