Intra/inter-gene distance function

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..