medium: parse: Allow empty attribute lists

Pacemaker allows empty attribute lists, and if one appears
in the CIB and crmsh doesn't parse it, it'll appear as an
xml entry. There is no actual parsing reason not to allow it.
dev: cibconfig: Allow calling create_from_node with container objects
medium: ui_resource: Fix race in start/stop/manage/unmanage (bnc#877640)

Instead of using its own custom CIB commit command, use the cib_factory
to modify and commit the metadata changes induced by
start/stop/manage/unmanage. This enables patching for these commands
when Pacemaker supports it.

Without patching, CIB modification is prone to race conditions where
parallell CIB changes are overwritten by crmsh.
test: Update resource test case
dev: cibconfig: If already editing the CIB, don't commit changes immediately
dev: Update TODO
Merge pull request #23 from krig/bnc877640

medium: ui_resource: Fix race in start/stop/manage/unmanage (bnc#877640)