ganeti-masterd: init and distribute common context
ganeti-masterd: init and distribute common context

This patch creates a new GanetiContext class, which is used to hold
context common to all ganeti worker threads. As for the
GanetiLockingManager class it is paramount that there is only one such
class throughout the execution of Ganeti, so the class checks for that,
and also forbids its own modification after it's been initialized. The
context for now contains a ConfigWriter and a GanetiLockingManager and
is created by the daemon and propagated to PoolWorker(s) and
JobRunner(s).

Reviewed-by: iustinp

ganeti-github-testing/ganeti-test-1,mbakke/ganeti,bitemyapp/ganeti,andir/ganeti,onponomarev/ganeti,yiannist/ganeti,grnet/snf-ganeti,apyrgio/ganeti,apyrgio/snf-ganeti,yiannist/ganeti,leshchevds/ganeti,andir/ganeti,mbakke/ganeti,dimara/ganeti,mbakke/ganeti,leshchevds/ganeti,andir/ganeti,leshchevds/ganeti,dimara/ganeti,yiannist/ganeti,ganeti/ganeti,ganeti/ganeti,ganeti/ganeti,ganeti-github-testing/ganeti-test-1,apyrgio/ganeti,onponomarev/ganeti,bitemyapp/ganeti,grnet/snf-ganeti,apyrgio/snf-ganeti