minor tweaks, alignment is now an unsigned
added llhd-base lib, basic structure of src mgmt

All files that reside in the llhd namespace directly, i.e. not in llhd::vhdl or the
like, are compiled into the llhd-base library. Other files are compiled into
corresponding libraries, e.g. llhd-vhdl for llhd::vhdl, which may all depend on the
base library.

Established the basic design of how source files are loaded and maintained. A
SourceManager is responsible for loading files an garbage collecting their memory.
Files are identified by FileId opaque identifiers.
in the middle of fleshing out SourceManager

The LLVM codebase is a good source of inspiration, however it should not be used
as a verbatim template for LLHD code. Many things are optimized ad nauseam, and
certain portions of the code seem rather suboptimal, as if they were written by
someone who is more proficient in C than in modern C++.