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.
writeCluster throws an exception when a user is not allowed to write to a cluster, but deleteCluster silently ignores it. We need to make the behavior uniform.