Initializing repository
nx.clustering and degree seem to have changed.

Now these functions return dictionaries, so I added a portion to only return the values without each node being a key.
Not sure what changes were made here....
First pass of refactoring cleanup.

A few tests are still failing, but now the package installs and the
file structure is cleaner.
Removed obsolete 'interfaces' code.
Fix util import in tests.
Fix import in test_metrics.
Indicate stochastic test failure, add reference.

Also reworded logical condition to be clearer, no functional change.
Fix mutual information failing test.

Noted that test isn't really very useful yet because it only checks
the most trivial case.
Fix test for module splitting.

We were allowing too often modules with single nodes, and also not
checking that a single-node module, if split, leads inevitably to
an empty module.  Now the test only splits modules with two or more
nodes.
Fix rename_keys test for edge case with last key being the target.
Improve error reporting in test.
Add simplistic simulated annealing test to test suite.
Merge branch 'modularity-cleanup'
Moved older (conflicting?) version of detect_modules to
detect_modules_oldversion, since I'm not sure what changes were made here.
Merge branch 'master' of projects.fperez.org:brainx

Conflicts:
	brainx/detect_modules.py
Changed apply_module_split and compute_module_split functions in both
brainx/modularity and in the testing suite.  For now, I have left
apply_module_split function with a 1/0 possibility if it encounters an empty
module.  According to my reading, I don't see any way in which an empty module
should occur, so it should never enter this loop.  However, when running the
simple simulated annealing test, it encounters this problem (not when running
the module_split test).  Perhaps it is coming from elsewhere?  At any rate,
have left it in for now so that we remember to address this problem and figure
out appropriate way to eithe renumber (and remember to renumber mod_e and
mod_a) or we avoid the situation altogether.
Finally tracked down empty module problems in apply_module_split.  Had to do
with whether random.randint or np.random.randint were being used-- these are
NOT the same thing.
Finished fixing up test_apply_module_split with extra checks and should
generally be looking pretty good.
Also added in a separate function to formally do the node splitting into the
modularity script, so that this could be tested more explicitly.
Modified test_mutual_information so that it contains the case of module_split
and module_merge (in addition to the case of moving a node) and checks that the
mutual information drops compared to perfect in each case.
Note, however, that no explicit intelligent test regarding the amount of
decrease in mutual information has yet been implemented.
Added some yield statements to test_apply_node_move.
Merge branch 'master' of projects.fperez.org:brainx

Conflicts:
	brainx/tests/test_modularity.py