added timed promises (experimental)
Revert "added timed promises (experimental)"

This reverts commit d3b7f854d65df98f9655ba7019c3e1aea93ac2fc.
infrastructure for retrying queries
allowed pipelined promises
implemented retry (untested)
+error codes
infrastructure for retrieving errors data
passing error messages to errbacks
+ read/write_timeout & unavailable error codes
Merge (unstable)
counting retries + correct calculation of retry decisions + minor improvements
Fixes: non-null retry policy by default + copyable exceptions
promises throw upon retry_decision rethorw
added retry for "execute" queries
messages as shared_ptrs to defeat segfaults
cql_session_impl_t with enable_shared_from_this
cql_connection_impl_t with enable_shared_from_this (thanks mhfrantz)
removed raw pointers to connections + cql_control_connection with enable_shared_from_this
io_service passed by shared_ptr everywhere
passing messages as shared_ptrs