Add way to compare current/expected stack states

This is just a work in progress to get feedback on how to go about doing
this.  This is the first step towards the auto heal/convergence
blueprint (stack-convergence).

The idea is to issue an RPC call to loop over all the resources of a
stack, gather information regarding their current statuses and an
expected state, and return the results on a dict.

No tests right now, just spiking.

Blueprint: check-stack
Change-Id: I4e39bfe6a3dca04305563844d5922da7e0bb67b3