ConfigWriter: synchronize access
ConfigWriter: synchronize access

Since we share the ConfigWriter we need somehow to make sure that
accessing it is properly synchronized. We'll do it using the
locking.ssynchronized decorator and a module-private shared lock.

This patch also renames a few functions, which were called inside the
ConfigWriter, to a private version _UnlockedFunctionName, and exports
the synchronized public ones. The internal callers, which are already
synchronized, are then changed to use the _Unlocked version, to prevent
double locking.

Reviewed-by: iustinp

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