Work in progress: a new publishing process.

The new publishing process will take into account admin permissions, so
admins can publish just the backends they have permissions to.

There's now a new preview screen for the publishing process, but the
actual publishing still needs to be implemented.

Also add jshint to begin to lint the javascript files in this project.