Client Build Process

This adds the tools necessary to run grunt serve and build. There are also updates to index.html so that the version of require it leverages is based on environment and changes to the gitignore which keep NPM modules and other files out of the repo