Implement --while & --until options in "wait" cmds

Refs: #46

Also, implement the --except option, that allows stopping a block
if some specified intermidate state ensues
Raise errors if blockers in CLI are not successful

Fixes #46

A "while" blocker is considered succesful only if the status has
changed at the end of the blocking operation.
An "until" blocker is considered succesful only if, at the end of
the blocking operation, the status is the desired one.
If a blocker is succesful, the blocking CLI command exits normally,
otherwise it exits with an error (not just an error message).