Merge branch 'shell'
add function to retrieve latest assigned db-id

The function allows us to retrieve the latest
assigned id for a row in a given table.
Also db-headers have been added to the common headers.
add database-persistence functions for timeslots

Add functions to persist and save timeslots
to the database. Persist is to store a timeslot
object, and save will actually create the timeslot
object and persist it.

Includes a new now() function, and a today() macro
which maps to now.
use bool and static where appropriate.
define callback-struct for shell

The callback struct consists of a command
identifier, e.g. "start", and a function pointer
to the function which should be called.
switch to timeslots now-mechanic in shell.
add functions to round timeslot/tm to next val.
use round in shell start/stop.
split shell-commands into own files in own dir.
rename calculate_difference

calculate_difference -> timeslot_inner_difference.
add function to calculate timeslot-length in min.
add a function to create a base-tm and use it.
rely on difftime for tm-differences

Remodel the inner-difference function for a timeslot
in order to rely on difftime-mechanic.
Also document timeslot-length.
build binary in bin/ directory.
add function to create timeslot from member-data.
let each CMakeLists.txt define its own libs

These libraries will be assigned a property, which will be read by the
CMakeLists.txt for lib/ and combined towards the libraries for the
binaries.
add report shell command

The report command will produce the output known from `checkin -s` (the
status of the current month).  If there is currently a start/stop cycle
it will report on that as well (current start time and current length).
The same will also be reported if the `start` command is issued more
than once without a corresponding `stop`.
Merge branch 'refactor_and_add_report'
adjust README/man for changes in start/report.