Finally implemented the permanent permission tables using sqlite3. For
now, performance wasn't a consideration. There are a lot of
optimizations that could be made, like having prepared queries. The code
remains fairly untested.
Makefile now gets the necessary `cflags` and `libs` compiler arguments
from `pkg-config` which increases portability and makes adding new
dependencies easier. Also added `TEST` flag, to have automated testing
in the future.
Now source files handling is delegated to functions defined
in `sourcefs.c` file. By encapsulating methods for managing
the underlying source files structure we ensure that all
code changes to the source file protection strategy will be
localized to `sourcefs.c` file.
Also changed Makefile to use more sane way of handling
options and build flags.