Move wiktionary class outside parser

WiktionaryParser abstract class is moved outside, this class defines
protocol which all other language wiktionary parsers need to
implement. All these parsers are part of parsers directory which will be
loaded as plugins during run time.

Added get_supported_lang function to wiktionary abstract class this
should be implemented by all class which derive from
WiktionaryParsers. This function lets other code to know for which
language this parser can be used.

Signed-off-by: Vasudev Kamath <kamathvasudev@gmail.com>
pep8 cleanup
Added module for loading plugins aka parsers from the parsers
directory.

Signed-off-by: Vasudev Kamath <kamathvasudev@gmail.com>
Rename xmpmessage module as replyhandler with ReplyMessage generic
class.

Signed-off-by: Vasudev Kamath <kamathvasudev@gmail.com>
Drop obsolete files

Signed-off-by: Vasudev Kamath <kamathvasudev@gmail.com>
Update configuration to have plugins

* dictbot/config.py: plugins section parsing is added, intended future
  use currently unused. Dropped ParserFileNotFoundError as parsers are
  loaded now as plugins.
* tests/test_config.py:  Updated tests and resources, and sample config files

Signed-off-by: Vasudev Kamath <kamathvasudev@gmail.com>
New class for jabber account handling

* JabberAccounts now takes care of parsing words getting meanings and
  responding to help messages.
* langstrings contain dictionaries for help message and not found error
  messages. Each language map should be filled with appropriate local
  messages. At the moment Malayalam doesn't have localized message

Signed-off-by: Vasudev Kamath <kamathvasudev@gmail.com>
Completely rewritten cli interface for dictbot.

Uses multiprocessing like before but creates logger by itself. Log file
is no longer taken as input from user.
Dummy __init__.py for creating dictbot package
Drop guesslanguage from requirements, we no longer guess language of
user input and allow bot to graciously fail on wrong inputs.