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
SeqUtils.seq3 now creates a copy of the imported IUPACData dict

This is to prevent a bug where the IUPACData dict is imported in some other
modules, and the key-value pairs have unexpected values due to seq3's update.
Move Bio.SCOP.three_to_one_dict to Bio.Data.SCOPData
Add deprecation warning in place of old SCOP's 3-to-1 dict
IUPACData: fixed small typo protein_letters_31to1 -> protein_letters_3to1
Fix PDBIO blank occupancy handling

* Used @peterjc's suggested format string modification
* Added unit test for blank occupancy writing
Add DSSP unit test.

* Tweak DSSP method to avoid tmp file
* Test parsing of pregenerated DSSP file
* Test generation of DSSP file from PDB file

Conflicts:
	Tests/test_PDB.py
Using test_XXX_tool.py for unit tests dependent on a binary