make otter.convergence a package
shuffle a bunch of code around, with backwards-compatibility imports
move some stuff into gathering.py
more code moved to gathering.py
move optimizer to planner -- it's less than a page of code
clean up imports and some lint.
effecting.py
otter.test.convergence package
move planning tests out of test_convergence.py and into test_planning.py
didn't mean to put code in test/convergence/__init__.py
separate gathering tests.
move step tests to test_steps.py
move effecting tests to test_effecting.py
fix import in test_rcv3.py
move the remaining code to otter.convergence.composition and otter.convergence.test_composition.
Merge pull request #816 from rackerlabs/reorg-convergence

structurally reorganize the convergence code into a package