Ditch the building of an archive (.a) in favour of linking all objects in a
directory into a lib.o file. This makes it easy to link in subdirectories
and more importantly keeps the build logic in the local subdirectories.
Note: after updating you will have to rm **/*.a if you do not make clean
before updating.
Finally, we are able to identify the builds more accurately. Now we check
if commit-id (cogito tool) is available and pass the output to vernum.c
compilation which then exports it as a build_id string.
The first line of --version is now a bit long, we should probably move the
build date to a second indented line or something.