Updating CDAO library to remove dependency on librdf. Using RDFlib instead.
Write triples directly to file instead of going through rdflib. This avoids storing entire graph in memory.
CDAO trees and clades have a [(predicate,object)] `attributes` list containing any additional triples with that tree/clade as subject.
Use @base for more concise URLs.
Use rdflib.URIRefs for URIs in yielded statements; if part of a statement is a string, treat it as raw RDF.
Only add an edge annotation/branch length if the clade specifies a branch length.
NewickIO: parse branch lengths in scientific notation (Issue #220)

Included a unit test for it, too.

Thanks to mathli for reporting this bug and offering a fix.
Prank wrapper: added versions to option docs for -(show|no)(xml|tree) change

Their wiki says the change occurred at version 120626:
http://code.google.com/p/prank-msa/wiki/NewFeatures?tm=6
test_Prank_tool: handle Prank's new stdout logging style

Old Prank output:

PRANK: converting 'Quality/example.fasta' to 'temp with space.fas'

New Prank output:

-----------------
 PRANK v.130820:
-----------------

Input for the analysis
 - converting 'Quality/example.fasta' to 'temp with space.fas'
test_Prank_tool: find ".best.nex" output file from the latest Prank

In yet another twist, the latest version of Prank names its output files
"*.best.nex", "*.best.fas", etc. instead of the established "*.2.nex" which the
unittest expected. The unittest now checks for both extensions.