Implemented timestamp boundaries for weeks
fixed config creation
demo_user
Saner logging

- Log files are now written in log-dir explicitly set from the
  command-line
- Also log messages have timestamps now
fixing testcases so that they can be run from any level
Converted the demodb into a class
Logging and fixed range

Added logging to demo_user. Also fixed a bug in demo_user to include
last day in the sequence.
Added facility to show work for last n weeks/days
Bugfix: file_path and intro

file_to_be_created should not be set just because file_path is missing.
On the other hand, since we update the config file every time we
instantiate config, we have to write the intro every time if we want it
to be part of the config permanently.
Clearer message form demo_user
Notify user when a default config file is created

From time to time it'd create a default config even when I'd specify a
config path because the config path would not exist because of a type.
In these cases any of the tools using config would silently created a
config with default values in them, which is not what I expected.  Now
config tells you when it is creating a config file and also shows the
content of the file.

Also the print function to be used can be injected while instantiating
config.
Add goals

Goals is a separate table where you set your goals with a starting date,
end date, work-type and the number of hours you want to achieve before
the end date. It creates a Goals table to keep track of goals.
Everytime it shows you goals, it checks how many hours you have put in
since the starting of the goal and how much you still have to do and
what will be the average per day rate to achieve the goal.
Fix help option with argparse

argparse does not show the arguments and options that are added in main
functions when invoked with --help. The reason for this is that it exits
after parse_known_args. To fix this create a new ArgumentParser in main
function and make the earlier instance of the ArgumentParser as its
parent.
Added current week

With --thisweek we can see the total work done in the current week
including today. Also changed the name of a function to make it more
intention revealing.