Ensure that the zookeeper backend creates missing atoms

When 'create_missing' is true the atom should be created
instead of raising an exception; this is used when a flow
detail is updated with a new detail and then saved.

This also adds test cases that verify this happens so that
we verify this on an ongoing basis.

Fixes bug 1395812

Change-Id: I4851a08ff1ab4101dbec4a6656177908095c3c52
Merge "Ensure that the zookeeper backend creates missing atoms"