Add build setup and readme

This is a part of standardising build processes, and development experiences.

The changes here:

* Allow anyone to easily compile everything in a known way (`npm run build`) and to run a server in development that has things like livereload (`npm start`) without needing separate tools.
* Will allow us to create better ops deployment processes (which will use the build step).

The build itself is defined in the Makefile, and is usually triggered by one of the above two commands.