Refactor routing and key API to support both Key, RoutingKey and Range consistently/transparently

patch by Benedict; reviewed by Ariel for CASSANDRA-18087
132 files changed