Consistency test

This is a huge chunk of code, but I figured this would be easier to merge than several smaller commits.

Essentially a few things were done:
1. Set cassandra/metadata to use a list of hosts, rather than a set of hosts. That way we could ensure the order in which nodes would be contacted in our policies.
2. Introduce the first part of the ConsistencyTests ported from the java-driver.
3. Introduce a brand new test to highlight PYTHON-39: SchemaTest.
4. Various small fixes of spacing and ensuring previous patches to the driver do not affect the test framework.
5. The most notable chunk being the newly separated out tests to be in the following categories:

    * unit - non-ccm based
    * integration - ccm-based
        * standard - quick running tests that don't heavily rely on infrastructure changes
        * long - long running tests that rely on ccm nodes to be taken down and brought back up

All 195 tests completed successfully, at least once, in 835.189s.