Prevent deletion of content.

Previously, if two opening fences were encountered, no failure was
reported.
XD-1848 more fine grained states via REST API

The status of a stream, as returned by the REST API (and thus the shell also),
may now contain any of the following states:

* deploying (deployment has been initiated)
* deployed (fully deployed based on each of the stream's modules' count properties)
* incomplete (at least 1 of each module, but 1 or more of them not at requested capacity)
* failed (1 or more of the modules does not have even a single instance deployed)
* undeployed (intentionally undeployed, or created but not yet deployed)
XD-1884 Added type validation to SimpleModuleModuleOptionsMetadata
XD-1884 added unit test and changes per review