Throw an exception in case the user doesn't have an associated contract

In case the user doesn't have a contract we need to find a way to make
sure he knows about this and can fix it. Therefore we cannot just
return 0 as this is not a special case. There might be contracts (e.g.
freelancers) that will have a 0h contract.
Restyle drop down sections

A first attempt of restyling the drown down menues a bit to make it a
bit more clear what belongs to what. I am still far from satisified as
we need better indicators what belongs to what, but this is hopefully
a first step.
Merge pull request #334 from dsp/contract-not-set

Throw an exception in case the user doesn't have an associated contract
Merge pull request #335 from dsp/restyle

Restyle drop down sections
Merge pull request #337 from voidus/fixVarScope

Avoid declaring variables in global scope
Append a line segment for each block instead of a single line

This will allow us to manipulate single line segments to indicate weekends in
the future.
lower the green bars on weekends
added comment
added vertical line segments so that the line is continual
Moved the graph to a separate class