Fix small errors and typos across the board

Fixed the things that my linter (pyflakes 0.7.3) picked up,
with the exception of the following:

./modules/rfc/cmd_list.py:27: undefined name 'channelNames'
./modules/rfc/cmd_list.py:28: undefined name 'channelNames'

These will need to be looked at by someone who knows what the code
is actually meant to do.
Add self to contributors list
stripcolors: module to disallow voiced and lower from sending format chars
customprefix: Fix newline at the end of the file
misc changes to logic that hopefully make it more readable
Merge pull request #6 from Heufneutje/formatting

customprefix: Fix newline at the end of the file
Merge pull request #4 from ekimekim/dev/0.3

linter fixes, add self to contributors, stripcolors
A couple things for consistency
Merge pull request #8 from ekimekim/style

misc changes to logic that hopefully make it more readable
Allow metadata to come from specific servers
Merge branch 'dev/0.3' of github.com:ElementalAlchemist/txircd into dev/0.3
Add a way to just add list modes to users/channels (for server burst only)
Fix a bug where whowas tries to add a user with no nick

If a user times out on registering a nick (_timeoutRegistration),
then whoWas.addUserToWhowas gets called but user.nick is None.
This causes an exception like so:

ERROR:twisted:Unhandled Error
Traceback (most recent call last):
  File "/var/env/txircd/lib/python2.7/site-packages/twisted/application/app.py", line 392, in startReactor
    self.config, oldstdout, oldstderr, self.profiler, reactor)
  File "/var/env/txircd/lib/python2.7/site-packages/twisted/application/app.py", line 313, in runReactorWithLogging
    reactor.run()
  File "/var/env/txircd/lib/python2.7/site-packages/twisted/internet/base.py", line 1192, in run
    self.mainLoop()
  File "/var/env/txircd/lib/python2.7/site-packages/twisted/internet/base.py", line 1201, in mainLoop
    self.runUntilCurrent()
--- <exception caught here> ---
  File "/var/env/txircd/lib/python2.7/site-packages/twisted/internet/base.py", line 824, in runUntilCurrent
    call.func(*call.args, **call.kw)
  File "/var/env/txircd/txircd/txircd/user.py", line 203, in _timeoutRegistration
    self.disconnect("Registration timeout")
  File "/var/env/txircd/txircd/txircd/user.py", line 193, in disconnect
    self.ircd.runActionStandard("quit", self, reason, users=self)
  File "/var/env/txircd/txircd/txircd/ircd.py", line 486, in runActionStandard
    action[0](*params, **kw)
  File "/var/env/txircd/txircd/txircd/modules/rfc/cmd_whowas.py", line 40, in addUserToWhowas
    lowerNick = ircLower(user.nick)
  File "/var/env/txircd/txircd/txircd/utils.py", line 16, in ircLower
    return string.lower().replace("[", "{").replace("]", "}").replace("\\", "|")
exceptions.AttributeError: 'NoneType' object has no attribute 'lower'
fix an issue where twisted's code raises a ValueError on bad data

A malformed user message can result in this:

ERROR:twisted:Unhandled Error
Traceback (most recent call last):
  File "/var/env/txircd/lib/python2.7/site-packages/twisted/python/log.py", line 88, in callWithLogger
    return callWithContext({"system": lp}, func, *args, **kw)
  File "/var/env/txircd/lib/python2.7/site-packages/twisted/python/log.py", line 73, in callWithContext
    return context.call({ILogContext: newCtx}, func, *args, **kw)
  File "/var/env/txircd/lib/python2.7/site-packages/twisted/python/context.py", line 118, in callWithContext
    return self.currentContext().callWithContext(ctx, func, *args, **kw)
  File "/var/env/txircd/lib/python2.7/site-packages/twisted/python/context.py", line 81, in callWithContext
    return func(*args,**kw)
--- <exception caught here> ---
  File "/var/env/txircd/lib/python2.7/site-packages/twisted/internet/posixbase.py", line 614, in _doReadOrWrite
    why = selectable.doRead()
  File "/var/env/txircd/lib/python2.7/site-packages/twisted/internet/tcp.py", line 215, in doRead
    return self._dataReceived(data)
  File "/var/env/txircd/lib/python2.7/site-packages/twisted/internet/tcp.py", line 221, in _dataReceived
    rval = self.protocol.dataReceived(data)
  File "/var/env/txircd/txircd/txircd/user.py", line 67, in dataReceived
    irc.IRC.dataReceived(self, data)
  File "/var/env/txircd/lib/python2.7/site-packages/twisted/words/protocols/irc.py", line 305, in dataReceived
    prefix, command, params = parsemsg(line)
  File "/var/env/txircd/lib/python2.7/site-packages/twisted/words/protocols/irc.py", line 83, in parsemsg
    prefix, s = s[1:].split(' ', 1)
exceptions.ValueError: need more than 1 value to unpack

We have no choice but to catch errors out of dataReceived() and treat them as connection errors.