[TableBillable] Fixed CS
[TableBillable] Rendered billable using Table
[Refactoring3] Created TaskCollection for activity

The display of tasks have the following logic:

* group tasks by a given index (day, project, title)
* compute the time spent in a given unit (working days, working hours)

This can be centralized into an object: TaskCollection.

You give it a TimeCard, and it returns a Task. If it doesn't have the
task, it creates it from the TimeCard's data.

This allows you to then add TimeCards to the task, so it will be able to
compute the time spent.

Timesheets will have the responsibility to retrieve TimeCard from the
database, and to return TaskCollections.
[Refactoring3] Created TaskCollection for billable
[Refactoring3] Created TimeCardFactory

Creates a doamin model TimeCard from the data source TimeCard, using
TimeOfDayFactory.

The TimeCard creation logic was repitively used in Timesheets.
[Refactoring3] Fixed CS
[Refactoring3] Removed mocking from functional tests

Every time the commands were modified, the functional test had to be
modified too.

The mocking methodology has been removed, now the command is extracted
from the container and run as is.
[Refactoring3] Added updater script

Fetches changes and clears the cache.
[Refactoring3] Created queries

A query is the Timesheet's input. The console's input is converted into
it via the ConsoleQueryFactory.

This will allow further improvements:

* reuse for the web interface
* validation
Merge branch 'tech/refactoring-3'