Refactoring of parsers

We will have single parser for each dictionary sources like wiktionary,
dictd etc. All will be inside the parsers folder and all implement
similar interface which can be accessed by bridge irrespective of kind
of parser.

Signed-off-by: Vasudev Kamath <kamathvasudev@gmail.com>
Make wiktionary parser self contained.

In previous design the fetching of data was done by bridge and passed to
wiktionary parser, but this make bridge to hold unnecessary
information. So we moved the fetching of data from wiktionary to
wiktionary parser so there by making it self contained. Bridge will just
pass data and expects output in some format.

Signed-off-by: Vasudev Kamath <kamathvasudev@gmail.com>
Move XMPP reply message rendering to separate file.

Signed-off-by: Vasudev Kamath <kamathvasudev@gmail.com>
List requirements in separate file
Move config file parsing logic into separate module.

Signed-off-by: Vasudev Kamath <kamathvasudev@gmail.com>
Create a proper project structure. WIP

Signed-off-by: Vasudev Kamath <kamathvasudev@gmail.com>
Ignore __pycache__
rename file as cli.py
Drop httphandler.py now we are using requests library instead
Move wiktionary parser into parsers folder
Use Error suffix to Exception class and add check for language entry for
each account entry.
pep8 cleaning up
Fix the config parsing module and add sufficient tests

Signed-off-by: Vasudev Kamath <kamathvasudev@gmail.com>
Create a sane wiktionary parser interface.

All new tests should be derived from WiktionaryParser class and override
the get_meanings function if needs special parsing logic, else should
invoke super call on get_meanings.

Tests uses mock framework to mock fetch_meaning return value from the
raw file stored from api call to wiktionary this is done to avoid
network call during tests.

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