Workspace test

Make sure Resources are hashable, and add tests for that and for persisting the workspace.

@keertip