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)
Right. I wanted to get some feedback from @ericbottard on this. AFAIK, this is used for completions (for the shell) and this is basically a way to group the deployed vs. undeployed streams when providing the options for completion values. Maybe the important distinction there is simply whether something is "undeployed" or anything-other-than-undeployed, but I'm not sure.