Configurable max retries and client side RPC thread pool sizing

I narrowed down my issue with why the connections have been timing out, I noticed that a cached thread pool was used which will create an unbound amount of threads overwhelming Cassandra's RPC endpoint. This patch includes a way to cap the amount of threads that are executed concurrently. By default retries and max threads are unbound unless explicitly defined in the serde properties.