Test suite fixes

I've fixed up all the failing tests in the test suite. Running `python tests/unit_tests.py` from the project root yields a fully passing test suite, for me anyway. I think depending on you geographical location, some tests might still fail, because the tests are making live HTTP requests and certain news sites serve up different content depending on where you're browsing from.

However, I think this is a good start. The next step is to mock out any HTTP requests and respond with a static response -- a local HTML file. I'm already working on that as well.

Let me know if it looks good or if you want anything changed.