Send Interactive State only from Project view
Send Interactive State only from Project view

Previously we were setting Interactive State at certain points in MMW,
such as when loading or saving a project. Since the same function was
used to respond to parent calls of `getLearnerUrl` and
`getInteractiveState`, there were cases when the Interactive State was
being set before we were ready for it to be set, e.g. before receiving
the `loadInteractive` command when returning to an existing project.
This would have the effect of overwriting saved state with an invalid
(non-project specific) state.

We split the sending functionality of `setLearnerUrl` into a new
`sendLearnerUrl` and make a conditional variant called
`sendLearnerUrlOnlyFromProjectView` that only sends the learner URL from
the project view. Thus, if the parent calls `getLearnerUrl` or
`getInteractiveState` while our app is not in a project view, we will
simply not respond. This fixes the problem of overwriting a previously
saved "good" state with a new "bad" one.

lliss/model-my-watershed,project-icp/bee-pollinator-app,kdeloach/model-my-watershed,WikiWatershed/model-my-watershed,kdeloach/model-my-watershed,lliss/model-my-watershed,WikiWatershed/model-my-watershed,kdeloach/model-my-watershed,project-icp/bee-pollinator-app,kdeloach/model-my-watershed,WikiWatershed/model-my-watershed,lliss/model-my-watershed,project-icp/bee-pollinator-app,lliss/model-my-watershed,project-icp/bee-pollinator-app,WikiWatershed/model-my-watershed,lliss/model-my-watershed,kdeloach/model-my-watershed,WikiWatershed/model-my-watershed