Implement multiple access levels for api keys

This allows to use an api key to write a completly standalone client.

Signed-off-by: Florian Pritz <bluewind@xinu.at>
user/create_apikey: Use empty comment if unset

False gets converted to "0" when being stored in the DB which we don't
want.

Signed-off-by: Florian Pritz <bluewind@xinu.at>
INSTALL: slightly improve SQL cmd

Signed-off-by: Florian Pritz <bluewind@xinu.at>
Clean up default config comments

Signed-off-by: Florian Pritz <bluewind@xinu.at>
Add foreign keys to database

Changing the referrer value for the root admin from 0 to NULL to make
the foreign key check work.

Signed-off-by: Florian Pritz <bluewind@xinu.at>