Fix nucleotide complementing for Python 3, for #17

Don't try to call .decode('latin-1') on a dict.
Fix Fasta doctests for Python 2 and 3

The pyfasta code uses text strings (str in Python 3, unicode in Python 2)
internally in most places, and it's difficult to directly check the __repr__
of these objects against known values in a way that works in both versions.
unicode.__repr__ has a 'u' prefix in Python 2, but this is not present in
str.__repr__ in Python 3.

To get around this, explicitly call print() on everything that we're
checking.
info function: don't rely on dict order in doctest

As in a96f60fcb8, the hash() of a str object is randomized every time
the Python >= 3.3 interpreter is started. It's no longer possible to
depend on the order of str keys in a dict, so sort the data by length
and then by sequence name before printing it.
Merge pull request #18 from mruffalo/master

Fix #17 in both Python 2 and 3