Updating the RSS module to work with ZNC partyline

ZNC party line channels start with `~` characters (e.g., `~#bot`). This commit allows Willie to work with ZNC party line channels that contain this character.
[db] Add postgres support

 - use psycopg2
 - see #451
fix documentation
Merge branch 'master' into postgres-support

* master: (75 commits)
  [units] Fix conversion between meters and yards.
  [units] Fix incompatibilities with Python 3.
  [dice] Fix incompatibilities with Python 3.
  can't install pyenchant from PyPI right now
  We only need to install enchant from apt-get
  [web]Fixed NameError.
  [weather]Fixed Can't find location bug with known locations.
  Add -git to version number
  Do dependencies properly. Now version 4.2.1
  [__init__] Add -git to version number
  [__init__] Version number to 4.2.0
  Improve code for translation module
  Clarify reasons for dev-requirements.txt
  Tell Travis not to init submodules
  Fix unicode issues with tests
  Change submodule URL to use HTTPS rather than SSH
  Add .travis.yml file for Travis CI and Coveralls.io integration
  Add dev-requirements.txt file, documenting requirements to run tests
  [tests] Ignore main willie.py for now
  Strip timezone... that should close 463
  ...

Conflicts:
	willie/db.py
Clean up redundant db config code
PEP8 fixes
Merge branch 'master' into postgres-support

* master: (30 commits)
  Add an `.is_nick()` function to the Nick class
  Remove errant prints
  Rework track_modes
  [core] Check if running with root privileges
  Added EFL copyright header
  [ip] Fix ip-database downloading in Python 3.
  Iterate over a copy of bot.privileges instead of the real thing
  Handle non-ascii IRC messages
  channel logs don't need to be webserver accessible
  check for configuration problems on load
  only log user nick changes to the channels that the user is present in
  Only log user quit messages to the channels that the user was present in
  Lock log files before appending, to avoid race condition
  Mark chanlogs rules as unblockable
  Reduce code duplication for chanlogs
  Added chanlogs module
  [test_tools] Fix incompatibility with Python 3.
  [test_tools] Make a home dir for willie if the default one doesn't exist.
  [ip] Fix unit test to handle downloading database notification.
  [test_tools] Add capability to ignore lines of output.
  ...
use single quotes instead of double quotes in sql statements
Added option for SASL username for cases when the nick isn't the same
as the SASL username
Merge pull request #1 from embolalia/master

Pull to my fork
Fix typo in exception message
Merge pull request #522 from singingwolfboy/fix-typo

Fix typo in exception message
[units] cm to meter should not be a floordiv, 150cm = 1.5m, and not 1m
[units] Add test for 150cm case
Merge branch 'warddr-bugfix_units_cm'
[core] Fix typo in module shutdown method handling

I have no idea how we did not notice this until now. Maybe it means the shutdown
interface isn't that useful :)
[tests] Ignore ipython.py

People shouldn't have to install ipython to use willie. It's a 100% optional
module
Tests failing because of it is silly as it doesn't (and can't) have any tests in
it.

I also added a comment to conftest.py explaining the reason for its existence.
[core] Some minor fixes to make PEP8 happier

It kinda makes stuff more readable, unlike some other PEP8 warnings
[core] don't fire loop protection if last message was more than 5 minutes ago

Many people complained that loop protection was too strict, as it considered
same message repeated after several hours as "loop". This change makes loop
protection less strict by checking the last message time stamp. If last message
was sent more than 5 minutes ago, it won't treat the situation as a loop.

I also cleaned the loop protection code, and added more comments to explain this
slightly cryptic portion of our bot's core.
[test] Actually blacklist ipython.py

Apparently we need full relative path, and not just filename. Makes sense.