Merged-to-master Python 3 branch

How I got here:

```
$ git checkout scottkmaxwell/py3-support-without-py25
$ python test.py # verified
$ git checkout -b python3 master
$ git merge scottkmaxwell/py3-support-without-py25 -Xignore-space-change
```

Then poking at all the conflicts, some of which required the following (given that I shuffled some files around in #256, this made it a lot easier to figure out what the incoming branch had actually changed):

```
$ git show master:paramiko/<module>.py > paramiko/<module>.py
$ vim paramiko/<module>.py
$ git diff 28d78e4e6a33d2e23af196db632e6eeda4167e24 scottkmaxwell/py3-support-without-py25 -- paramiko/<module>.py
<manually apply changes as needed>
```

And now trying to ensure that the test suite passes again.