Adding tenant to stores and APIs. To do this, introducing the

concept of an Account to keep track of all user information, and
views for the cluster and entity stores. Views are per account,
and only allow access to parts of the database that can be
accessed by that account.
the difference is that write has a cluster object with an associated account when it is doing the writing.  Delete is just given an id, and I don't think we should distinguish between a user trying to delete a nonexistant cluster versus one they don't have access to.