First round of testing

Alright, I've set up a basic testing framework and modified some stuff to make it easier to test. Here's a rundown of everything:

 * First, I included the requirements document. I've added warnings on a couple of features, because I found some undocumented stuff in the code. It's no biggy, we just need to make sure the requirements are complete before we do too much more.

* Next, I set up unit tests using python's unittest framework. I'm still not sure if I organized the test cases properly, but the tests do run, and illuminated a couple of things I'll get to in a bit. If you want to run the tests, there's a simple script included too.

* I grabbed some mocked up versions of praw's objects from compile_bot's test code. They're not completely functioning, but they're very helpful. They're in the praw_mocks module.

* I gutted scan_comments() and made it so all side_effecty functions must be passed in. This way they can be subbed out for dummy functions in the test code. I made a new function called scan_comments_wrapper() that works the same way scan_comments used to (just pass in a comment and it'll do the rest).

* I took out praw calls wherever possible. We were querying reddit for comments' parents a lot, so I passed the comment's parent as an argument to scan_comments and as an argument to is_parent_commenter_author().

* The changes I made to the code should not cause DeltaBot to behave differently. However, I would advise that you try it out on your testing sub before pushing it to production, just to be safe. If problems emerge, you can always revert back to the previous version of DeltaBot.