Fix #3: states

This flips everything on its head: `@cache-vary` is now its opposite `@cache-exclude`, and `@cache-state` is new.