Change EnsureNotBootstrapped to use StateServerInstances

EnsureNotBootstrapped is modified to call StateServerInstances,
rather than LoadState directly. StateServerInstances is now
required to return ErrNotBootstrapped if there are no state
server instances.

The BootstrapState type and related functions have been moved
from environs/bootstrap into provider/common, which is where
it should have been before were it not for the layer violation.
The root directory should not exist at all in bootstrapped environment. You can have a bootstrapped environment without an agent running (e.g. if the agent is restarting).

This is not really much different than before, where we were checking for a file's existence. It's just changed from file to dir.