Do more aggressive ttl expiration checks to be able to drop more sstables

Patch by Bjorn Hegerfors; reviewed by marcuse and slebresne for CASSANDRA-8243
Merge branch 'cassandra-2.1' into trunk

Conflicts:
	test/unit/org/apache/cassandra/db/compaction/TTLExpiryTest.java
Deal with conflicts between system functions and UDFs

patch by Robert Stupp; reviewed by Benjamin Lerer for CASSANDRA-7813
Allow snapshot-based repair on Windows for 3.0

Patch by jmckenzie; reviewed by yukim for CASSANDRA-8309
Merge remote-tracking branch 'origin/trunk' into 8053-udaf-v2

Conflicts:
	src/java/org/apache/cassandra/cql3/functions/FunctionCall.java
	src/java/org/apache/cassandra/cql3/functions/UDFunction.java
	src/java/org/apache/cassandra/cql3/selection/AbstractFunctionSelector.java
	src/java/org/apache/cassandra/cql3/statements/DropFunctionStatement.java
	src/java/org/apache/cassandra/db/SystemKeyspace.java
Remove post-2.1 dead schema migrations and columns
Merge remote-tracking branch 'origin/trunk' into 8053-udaf-v2
code cleanup