Large refactor.

This patch has a LOT of stuff in it; all which
was sort of intertangled and so hard to commit
incrememntally. Here is a short list of what wa
done:

 - rename functions to match julian style(no camelCase, a few other tweaks)
 - switch argument order to Phylo and Clado so that the interface matches
 - make Phylo and Clado defined in terms of Array{String}, rather than
   concrete String types. This makes sense because we don't really care
   what kind of strings the user wants to use. It also prevents the
   constructors from throwing errors when, e.g. SubString (what RegexMatch.match is)
   are used, such as when passing the name of the tree into the constructor.
 - make treeread always return a array of Phylogenies (type stability = good)
Add test suite.

Fairly minimaly at this point, but should enable more aggresive refactoring.