Add the database 'merge' operation

We merge the updates from a task when the corresponding thread
exits. This means we cannot see partial results from one thread in
other threads. In particular this means that forwarding some of
the database operations to the master will not work.

Signed-off-by: David Scott <dave.scott@eu.citrix.com>
Disable all authentication for now

Should sessions be in the persistent store? In which branch?

The current mixture of database and API operations simply doesn't
work without everything being synchronous across hosts.

Signed-off-by: David Scott <dave.scott@eu.citrix.com>
Don't use nested tasks

Since one task is one branch, nesting doesn't work. The Irmin API
doesn't let Views spawn further Views (I think)

Signed-off-by: David Scott <dave.scott@eu.citrix.com>
Don't make API calls from startup/dbsync

The dbsync needs to be local to one host, since this is where the
database branch lives. This means that
- PIFs
- GPUs
- licenses
- AD plugins
don't work

Signed-off-by: David Scott <dave.scott@eu.citrix.com>