[connman] Add vpnd crash recovery functionality. Fixes JB#49506
Implement a notifier for user id changes. Use this only in connmand (vpnd does not use notifier) as a callback to storage.
Add a D-Bus service listener for vpnd into connmand side of storage.c. This will get triggered when vpnd goes down and the current, now saved uid in storage.c, will be informed to vpnd. Additional handling of this was added as well, to cover cases where connmand has crashed and vpnd stays up and vpnd reports EALREADY for the uid.
Restrict the user change requests to one at a time. Use delayed timeout functions for cases where the change should be still made. This allows to not to return to back to user root in case vpnd just fails or crashes. Instead, connmand can keep the current user and by reacting to vpnd coming back up or to the proper errors (timeout, unknown method, no reply) a delayed request can be made with current info. Added also handling of limits exceeded with doubled timeout for the timeout function.