Use js for officers page

The first commit switches the officers page to use js. 
The other commits refactor generate.js into two files to separate the functions of generating fake json and sending it to the server. I rolled another branch into this one effectively.