Merge branch 'master', remote-tracking branch 'origin'
Downgrade non-null SFF padding error to a warning (issue #219).

Based on a patch from Martin Mokrejs, this allows the
Biopython SFF parser to be used on invalid SFF files
generated by sff-dump.2.1.7 though 2.1.9 when converting
from *.sra files (problem was due to reuse of an output
buffer, fixed in release 2.1.10).

Martin tested this on SRR088820.sff, ERR016587.sff, and
ERR016602.sff from the SRA.
Kwargs are passed as pyplot options

Getattr allows pyplot to have options dynamically passed to it.
Isinstance processes arguments passed into phylo draw in ways
appropriate to the data types used in them.
Added linecollection for clade lines option

An option is added that allows clade lines to be created with
matplotlib's linecollection objects.  The linecollection objects are
stored in tuples that are added to the pyplot plot.
Added changes based on feedback from @etal

Fixed spelling error, line size, and comment location.
Added exception catching for the format of user entered pyplot options key word
arguments.
Changed global to local object scope in the objects containing the plot line
collections.
Redundant error catching removed from  matplotlib.collections import.
Additional comment added to draw_clade_lines.
Removed test printing line and changed exception test try statement to have
better syntax.
Phylo.draw: edited docstring & made the printed error message a ValueError

Stripped some spurious whitespace.
Phylo.draw: rename local variables for PEP8 compliance

Removed unnecessary line continuations (end-of-line backslashes inside parens)
GenBank: Give better error output on invalid qualifiers

When encountering a multiline qualifier that doesn't contain an = sign
and doesn't correctly close the quotation marks, the error message
"TypeError: unsupported operand type(s) for +: 'NoneType' and 'str'"
is less than helpful. Catch the None type and give a better error
message by raising a StopIteration.

Also add a unittest-based test case for this, as I couldn't figure out
how to properly test this with the old-style tests.

Signed-off-by: Kai Blin <kai.blin@biotech.uni-tuebingen.de>
Fix typo in class name (docstring change)

Documentation change only, no need for TravisCI tests [ci skip]
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.
Move one-to-three protein letter maps into Bio.Data.IUPACData