Bugfix for DNA/RNA masses; enhanced molecular_weight function

In Bio.Data.IUPACData:
- corrected masses for monophosphate nucleotides in unambiguous_dna_weights and unambiguous_rna_weights (most values where too high by a mass of 16 Da)
- added two dictionaries with monoisotopic masses for monophosphate nucleotides (monoisotopic_unambiguous_dna_weights and monoisotopic_unambiguous_rna_weights)
- added average and monisotopic masses for selenocysteine and pyrrolysine in protein_weights and monoisotopic_protein_weights

Rewrote method molecular_weight to:
- correct the calculation (sum masses of sequence elements and substract 18 Da for each formed bond)
- allow mass calculation for RNA and protein sequences
- allow mass calculation for double stranded nucleic acids
- use  more precise masses for water

Updated test_ProtParam.py with new results due to changed masses in IUPACData

Also now using Python 3 print style for docstrings
Thank Markus for sequence mass/weight work (pull request #235)
Stricter type checking in molecular_weight; Adding doctests
Remove three unit test *output* files