Initial commit
Initial layout for the code.
Written docstring annotations for all defined classes. Deleted most classes
related to time for they are provided by built-in Python libraries.
Cosmetics.

According to PEP-8, module names should be all-lowercase.
Naive implementation of basic commands.

Really trivial commands: add a project, list projects. Framed using
argparse.

A skeleton for reading and writing tasks is written too, but has not been
tested at all.
Added basic begin/end functionality.
Added basic `status' functionality.
Fixes, slight extensions.

Fixed totally wrong behaviour (tasks vs. projects argument parser,
wrong syntax in frontend.cli).

Slightly extended functionality to allow for better specification of new
tasks and their verbose listing.
Fixes.

Tried out most functionality that should be working now and made it work.
Enabled removing tasks and projects.
Coded something to extend listing functionality.

...hope it will work. The added subcommands are:
	status --time TIME (filter by time)
	status --all       (show also closed slots)
Retro and fixes.

Implemented basic retro functionality (like wyr fence).
Started to implement "tasks --modify" subcommand.
Quickfix for Richard, hiding "aliases".
De-fix.

Undone the temporary fix for Richard's version of argparse.
Basic keyword-based NLP.

You can now specify a datetime saying "end of the world". Very useful!
Save tasks as XML.

Enabled to save tasks (at the current level of complexity) as an XML
file, and load them from an XML file again.
Made work slots exportable to XML too.

Work slots can now exported to the same file as tasks.
Improved XML exports and task --modify.
workslots IDs, NLP for timedeltas

Added the ID attribute for workslots, using the generic class
DBObject from backend/generic.py. Wrote basic regex-based NLP for
timedelta parsing. Occassional fixes.