Fix testing in Python 2.6
Drop Python 3.1 support.

I'm not sure this *was* working in Python 3.1, but TravisCI isn't testing it and Tox coughs up an `ImportError: No module named ssl_match_hostname`.  We can look into this more, but supporting 3.1 probably isn't worth it.
close our HTTP request connections

Good practice and Python 3.2/3.3 had this to say, `embedly\client.py:152: ResourceWarning: unclosed <socket.socket object, ...>`
Tidying. Additional gitignore lines. Don't need the conditional `simplejson` because we don't support Python 2.5.
Update Readme

Mostly this updates the `Url` model documentation to reflect its more pythonic nature as a true dictionary.
Also update a couple links, don't use `sudo` and fix the RST formatting for a few code blocks.
Remove a working but unnecessary recursive call.
Fix an issue when calling `get_services()` in Python 3.

(This now matches the response decoding already used in `_get()`. It was never noticed because tests didn't cover it.)
Increase test coverage. Reorder imports so that Python 3 is first.
Tests - add mocking to test `get_services()`

This may be overkill but it does increase test coverage and if we develop more fine-grained tests for `_get()` in the future, mock will help.
Use `2to3` automatically during the build process.

It doesn't make a ton of changes in truth, but it's a recommended step on the conversion path. It does handle the `urllib` path though!
TravisCI - let's see if it will use `setup.py test` and thus install the test dependencies
Python 3 - properly handle `__str__` vs `__unicode__` .

Also test for it, which increases test coverage to 100%.
Merge branch 'v0.5.0-prep' and bump version to 0.5.0. Closes PR #21