Add option to split by class/module + cleanup

Agreed with bumping the version to 0.2.0.

My primary case also involves wanting to keep classes together, but I don't think the current code necessarily does that. Lucky for me, all my test classes already derive from my own subclass of TestCase, so I just put `_distributed_can_split_` = False in the base class.

I ran:

    $ nosetests tests/dummy_tests.py --collect-only --verbose --nodes 3 --node-number 1
    $ nosetests tests/dummy_tests.py --collect-only --verbose --nodes 3 --node-number 2
    $ nosetests tests/dummy_tests.py --collect-only --verbose --nodes 3 --node-number 3

And I see tests from TC1 and from TC2 being split among the nodes.

    $ nosetests tests/dummy_tests.py --collect-only --verbose --nodes 3 --node-number 1

    test_method1 (tests.dummy_tests.TC1) ... ok
    test_method4 (tests.dummy_tests.TC1) ... ok
    test_method1 (tests.dummy_tests.TC2) ... ok
    tests.dummy_tests.test_func2 ... ok
    
    ----------------------------------------------------------------------
    Ran 4 tests in 0.000s

Anyway, that's why I coded it up that way, to keep it from being a breaking change.