Intra/inter-gene distance function -- WIP

Here's an implementation of the function discussed this morning .. Nearly finished but not quite there yet. A couple of items..

* I've done the hacky sq_to_dist voodoo so the distance matrix is kept condensed to preserve memory, and the condensed form makes for nicer output.
* In hindsight intra/inter are terrible choices of words, I'll rename these in the next commit so the code is a little easier to read :)
* It currently takes the gene labels as a 1D 'membership' vector.. is this suitable? If we're inputting a MongoDB collection item, this can be cast into the right form easily enough..
This will be way too slow, O(ngenes x nsamples). You should either use the mongoDB collection or build a gene -> indices dict (one pass through all the samples).