Add a find_by to the datastore

To lookup by stack_key, resource_name
Add observed_{props, attrs}

This adds the ability to keep trying until the ok state.
It's still not totally ok, as I'd like state_ok() to differentiate
waiting, ok, needs update, needs delete.

Regardless only progress when the resource is ready.