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-1760 enabling short circuiting

Now checking deployment property values and setting the "shortCircuitAllowed"
producer property if the following conditions are satisfied:
1. producer module is not partitioning
2. producer module's count is 0
3. next module's count is 0
4. both producer module and next module have the same criteria (both can be null)

Added "shortCircuiting" tests to AbstractDistributedTransportSingleNodeStreamDeploymentIntegrationTests

RabbitSingleNodeStreamDeploymentIntegrationTests and RedisSingleNodeStreamDeploymentIntegrationTests
now both extends from AbstractDistributedTransportSingleNodeStreamDeploymentIntegrationTests
Addressed PR comments, and rebased