It's the weekend!
refactor attempt

I tried to move away from having one monolithic function.
I put each "thing" that the bot might do is in it's own class
definition. I hope that this will make it easier to modify and maintain
the bot going forward.
NOTE: I HAVE NOT TRIED TO RUN THIS!
use requests throughout. other tweaks.

* I consolidated the various calls to the Internet onto the requests
library for simplicity's sake.
* As a result, I cleared out the json, urllib2, &c imports that were no
longer needed.
* I ended up adding some extra logic to the UrbanDictionary code, so it
won't necessarily just use the first definition every time.
* And some small changes to appease pylint, since I'm still not actually
running this code.
configure pylint

Generated from pylint's defaults, but with two changes:
* Changed max-line-length from 80 to 100.
* Changed indent-string from " " to '\t'.
add upstream code

i.e. PeaceKeeper and Weekend

Also a few formatting tweaks.
lots of little changes
re-re-refactoring

rearranging things and correcting speling mistakes.
locations stub

Added a handler for locations. Currently just preempts LinkTitle.

Also, factored out some of UrbanDictionary into a static method.
chill out, pylint

Changed max-line-length from 100 to 120.
Changed reports from yes to no.
locations

Added distance calculating functionality.
tabs to spaces

realised the original code was indented with spaces, while I've been
using tabs all along. Oops!
forgot to tell pylint about switching to spaces
rename "Handler" to "Feature"

I like this noun better.

Also spotted some bugs. :-I
refactor Locations

took the distance calculation out and make it a static method.
Location responses
Erik was crashing things yet again
This isn't a monologue
this should fix the crashy issues
Accounting for default location
Too wow