Enhancement: Ignore node modules
Refactor: move app-related code into public/
Refactor: Rename javascript files for clarity
Refactor: Introduce MVC pattern

At this point, we have separated out the behaviour into the three
MVC responsibilities. We've introduced the concept of functions,
and the battleship.js file can be loaded from any page.
Add model spec (shootAt())