Add backup and restore functionality

This allows you to backup grains as zip files, and then restore them on any sandstorm instance, as long as the same appId is present, and the installed app is a compatible version.
TODO style:
`TODO(now)` -- Must happen before next build (checked by release script).
`TODO(soon)` -- Must happen before branch goes into beta (checked by release script).
`TODO(someday)` -- Could maybe happen someday.
`TODO(cleanup)` -- Not important but would make the code nicer.
`TODO(perf)` -- Would improve performance.
`TODO(security)` -- Would improve security.