Add ordination

Since fun isn't restricted to deleting code, here's some fresh stuff: the addition of a bunch of new ordination methods (Issue #47): correspondence analysis (CA), redundancy analysis (RDA) and canonical correspondence analysis (CCA). It also includes an extraction/rewrite of PCoA from cogent.

There're some [open issues](https://github.com/Jorge-C/ordination/issues?state=open) in the old repo, and some comments about the ported functionality at the top of the pcoa file ~~(where are its tests, btw?~~ [Here](https://github.com/pycogent/pycogent/blob/master/tests/test_cluster/test_metric_scaling.py)).

There're a few things I dislike in the new methods. For example:
- There are several ways to scale species and sites so that they can be shown in the same plot (a biplot), so I'm breaking up the calculation of the scores in two steps: the most expensive part, which is shared by all scalings, is computed only once, and then calling `obj.scores(scaling)` is quick. But some methods require a ton of variables computed in the expensive part, and that leads to some [horrible lines](https://github.com/Jorge-C/bipy/compare/add_ordination?expand=1#diff-ba1b42ee0da015f97b439914f129d5b6R148). I'm confident I'm missing a better way to do that.
- 2D plotting doesn't scale because it shows a label for each point. That needs to be heavily improved, but I needed something to test/show. Can emperor be called from python? I think it'd be *super* cool if something like `emperor_plot(array_of_coordinates, pandas_dataframe_of_metadata_a_la_mapping_file)` worked.

Looking forward to your comments!