When reporting a resource, before and after should always be a hash

If a Resource (or LWRP) overrides Resource#state (meaning to set an
attribute named state) this collides with the state function used to
gather up the state_attrs

Fix this by ignoring the return from Resource#state if it's not a
Hash