Change to use Address in IOWorker backend

Changing from Host to Address in backend, where extended Host attibutes
should not be needed.
Add some missing license headers
Further conversion of Host-->Address in low-level code

Connection updated
Avoid pool ready callbacks on reconnect.

Prevents the Session::pending_pool_count_ invariant from going negative, when
it should really only be used to count down initial connection attempts.
Control connection cluster node discovery.
don't leak ResultIterator in control connection
Cleanup leaks in a few examples.
Improved error handling

Updates from code review:
- Handle ErrorResponse, unexpected opcode
- Note on queries about dependent indexing
- Minor formatting
Merge pull request #57 from mfiguiere/beta4
Merge pull request #59 from datastax/CPP-145
Merge branch 'beta4' into CPP-146

Conflicts:
	src/connection.cpp
	src/control_connection.cpp
	src/host.hpp
	src/io_worker.cpp
	src/pool.cpp
	src/request_handler.hpp
	src/session.cpp
Fixes after merge
Handle topology/status changes