CQL3 refactor to allow conversion function

patch by slebresne; reviewed by iamaleksey for CASSANDRA-5226
Fix drop of sstables in certain circumstance

patch by slebresne; reviewed by jbellis for CASSANDRA-5232
Merge branch 'cassandra-1.2' into trunk

Conflicts:
	src/java/org/apache/cassandra/cql3/Term.java
	src/java/org/apache/cassandra/cql3/UpdateParameters.java
	src/java/org/apache/cassandra/cql3/operations/ColumnOperation.java
	src/java/org/apache/cassandra/cql3/operations/ListOperation.java
	src/java/org/apache/cassandra/cql3/operations/MapOperation.java
	src/java/org/apache/cassandra/cql3/operations/Operation.java
	src/java/org/apache/cassandra/cql3/operations/PreparedOperation.java
	src/java/org/apache/cassandra/cql3/operations/SetOperation.java
	src/java/org/apache/cassandra/cql3/statements/DeleteStatement.java
	src/java/org/apache/cassandra/cql3/statements/SelectStatement.java
	src/java/org/apache/cassandra/cql3/statements/UpdateStatement.java
	src/java/org/apache/cassandra/db/SystemTable.java