Fallback to 'unknown' if OS can't be identified

Distrowatch lists 289 different distributions of linux & bsd This patch adds
minimal support for all of them.

We can't do the ROS-module->distro-package mapping in this case, but the least
we can do is _not throw an exception_ that kills every functionality which
invokes this code.

With this patch, it becomes possible to build a complete ROS-hydro-workspace
without playing around with custom environment variables on _all_ distributions
with desktop_full(!) as long as one manually installs all system dependencies.