Add rfc command and revise data receiving

The 'rfc' command sends the two IRC rfc's to the channel. This may be
useful in developing an IRC bot.

Instead of using socket.recv(), a file can be created from the socket
using socket.makefile and call its readline method. The file is created
with a binary mode so we can decode manually later.

To prevent the bot from crashing because of UnicodeDecodeErrors, the
str.decode method is passed errors='ignore'.

 plugins/standard.py |  5 +++++
 utils/irc.py        | 15 ++++++---------
 2 files changed, 11 insertions(+), 9 deletions(-)
Remove support for a non-standard plugin directory

 plugins/__init__.py  | 6 ++----
 plugins/util/data.py | 2 +-
 2 files changed, 3 insertions(+), 5 deletions(-)
Fix another problem with the sed regex

We now allow s/<re>// too (deletes part of message)
Because the closing / may be omitted, this now also allows s/<re>/,
which I like quite a lot.

 utils/parse.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
Make highlight color modifyable.

You can now change the highlight color at runtime by changing the
bot.hicolor variable to a function that takes and returns a message.
(Generally, assign functools.partial(bot.style.color, color=<color>))

 bot.py               | 1 +
 plugins/dict.py      | 2 +-
 plugins/google.py    | 2 +-
 plugins/plugins.py   | 4 ++--
 plugins/standard.py  | 4 ++--
 plugins/translate.py | 2 +-
 plugins/urban.py     | 4 ++--
 plugins/wikipedia.py | 2 +-
 8 files changed, 11 insertions(+), 10 deletions(-)
Fix bug in dict.py where %d was expected but %s was passed
Change terrible wiki help and also strip ' '

You strip ' ' so the help will not be 1 char further
than you would normally have it, while still being pretty
in code.

 bot.py               | 1 +
 plugins/wikipedia.py | 2 +-
 2 files changed, 2 insertions(+), 1 deletion(-)
Add rfc search feature

The RFC search feature has a map from section title to url.
It uses difflib's fuzzy matching to find a section title corresponding
to the input, and then sends the URL of the section title back.

 data/rfc.data  |   83 ++
 data/rfc.txt   | 3531 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 plugins/rfc.py |   39 +
 3 files changed, 3653 insertions(+)
 create mode 100644 data/rfc.data
 create mode 100644 data/rfc.txt
 create mode 100644 plugins/rfc.py
Added rfc search, rfc numeric search, IRC RFC section search
Added rfc data
Add rfc command and revise data receiving

The 'rfc' command sends the two IRC rfc's to the channel. This may be
useful in developing an IRC bot.

Instead of using socket.recv(), a file can be created from the socket
using socket.makefile and call its readline method. The file is created
with a binary mode so we can decode manually later.

To prevent the bot from crashing because of UnicodeDecodeErrors, the
str.decode method is passed errors='ignore'.

 plugins/standard.py |  5 +++++
 utils/irc.py        | 15 ++++++---------
 2 files changed, 11 insertions(+), 9 deletions(-)
Remove support for a non-standard plugin directory

 plugins/__init__.py  | 6 ++----
 plugins/util/data.py | 2 +-
 2 files changed, 3 insertions(+), 5 deletions(-)
Fix another problem with the sed regex

We now allow s/<re>// too (deletes part of message)
Because the closing / may be omitted, this now also allows s/<re>/,
which I like quite a lot.

 utils/parse.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
Make highlight color modifyable.

You can now change the highlight color at runtime by changing the
bot.hicolor variable to a function that takes and returns a message.
(Generally, assign functools.partial(bot.style.color, color=<color>))

 bot.py               | 1 +
 plugins/dict.py      | 2 +-
 plugins/google.py    | 2 +-
 plugins/plugins.py   | 4 ++--
 plugins/standard.py  | 4 ++--
 plugins/translate.py | 2 +-
 plugins/urban.py     | 4 ++--
 plugins/wikipedia.py | 2 +-
 8 files changed, 11 insertions(+), 10 deletions(-)
Fix bug in dict.py where %d was expected but %s was passed
Change terrible wiki help and also strip ' '

You strip ' ' so the help will not be 1 char further
than you would normally have it, while still being pretty
in code.

 bot.py               | 1 +
 plugins/wikipedia.py | 2 +-
 2 files changed, 2 insertions(+), 1 deletion(-)
Add rfc search feature

The RFC search feature has a map from section title to url.
It uses difflib's fuzzy matching to find a section title corresponding
to the input, and then sends the URL of the section title back.

 data/rfc.data  |   83 ++
 data/rfc.txt   | 3531 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 plugins/rfc.py |   39 +
 3 files changed, 3653 insertions(+)
 create mode 100644 data/rfc.data
 create mode 100644 data/rfc.txt
 create mode 100644 plugins/rfc.py
Added rfc search, rfc numeric search, IRC RFC section search
Added rfc data
Rebased on top of master
Make bolding of text proper in wikipedia.py