Revert back to using a nil state. The external usage of the state shoudl always check the Empty() method.
When refreshing remote state, indicate when no state file was found with an ErrRemoteStateNotFound error. This prevents us from inadvertantly getting a nil state into a terraform.State where we assume there's always a root module.