separate write/check code out from upgrade procedure

this makes the methods simpler and eliminates the need for a few
method args
remove unused argument.
switch from specific number of counter updates

to using a timeout. we'll write as many updates as possible in
the given time period (currently 15 seconds).
before we were trying to do 5k updates with a 5 minute timeout, and
it was likely consuming a lot of test time unnecessarily.
docstring fix
fix debug statement
enable multi dc upgrade tests

there was a small issue with ccm not preserving topology on upgrade
but this has been addressed.
remove unnecessary flush from upgrade tests

drain triggers flush, so this isn't necessary
though at a later time we might want to test what
happens when nodes aren't drained and upgrades are attempted
Merge pull request #51 from riptano/multidc_upgrade

Multidc upgrade