The State call attempts to get a lock before determining if a named state exists. This prevents force-unlock, since we need the state to call Unlock.
The RemoteClient needs to be configured for the named state, so move the general config to the backend. Rename some fields for consistency.
Move the S3 State from a legacy remote state to an official backend. This increases test coverage, uses a set schema for configuration, and will allow new backend features to be implemented for the S3 state, e.g. "environments".