Make code py3 compatible

As a side-effect, this makes us use unicode, which will be useful for
non-ascii characters in aythor and story names down the line.
Handle non-ascii author names
Add some initial unit tests

Just to prove that my initial changes work.
Handle encoding correctly when piping

Python doesn't let us know the terminal encoding if we're piping (which
may or may not be correct, depending on who you ask). So we need some
extra handling.

Incidentally, handling the output differently also makes is easier to
test that we're getting the right output.

I've only implemented this for show_stories thus far.
Start separating concerns

Fetching and displaying information are two distinct tasks, one of which
is functional.
Add proper output processing for scrum function

Also basic testing and separation of concerns.
Test against python 3.2 as well, just to be sure
Allow finished and delivered in scrum

Seeing these is useful in some workflows,
Use the binary response content instead of unicode

Apparently, ElementTree likes to do it's own decoding. It raises a
UnicodeError when given the decoded response.text, but it works fine
when given the raw response.content.