[core] Add SASL auth capability

This starts IRCv3 compatibility, but the interfaces should be refined
somewhat.
Merge branch 'master' into ircv3
Merge pull request #319 from saltire/rss

[rss] Report malformed XML; skip updating feed with unchanged etag
[docs] Touch up a few flaws in the documentation
[rss] Add a class for representing feed rows.

- rss._RssFeed eases accessing the row fields.
[rss] Add handling for 301 and 410 http responses.
Merge branch 'master' of https://github.com/embolalia/willie
Revert "Add trigger.raw and fix issue #310"

This reverts commit b408543071842bf04346fb7f569eaa4d1061cb13.
[coretasks] Attempt to rejoin registered-only channels
forgot to import time
Merge pull request #320 from bui/master

Revert b408543 and fix #310
[reddit] fix error when poster has been deleted

Fixes #323
Merge branch 'ircv3'
[core] Fix NameError and simplify code.
[core] Remove unblockable from commands in coretasks.

Unblockable was meant for functions that keep track of events.
[rss] Give an error at setup if DB isn't working

This will, at the lease, help diagnose #322
[rss] Clean up setup function and RSS feed class

- Rename _RssFeed to RSSFeed
- Generate RSSFeed's attributes dynamically from a list
- Move table creation into its own function
[rss] Update SQL query substitution

- Replaced old-style string formatting with format() function
- SUB no longer needs to be stored in a tuple
[rss] Moved rss actions into their own functions

The .rss command now looks through a list of actions and calls the
corresponding function dynamically.

Also added 'clear' to the help text.
[rss] Moved start/stop commands into main rss command

.startrss is now .rss start
.startrss --stop is not .rss stop
- Removed the debug option; will fix those debug calls next
- Removed a couple other useless variables
- Swapped order of del/clear
- Removed priority import, since they're all in the same function now