Issue 115 eslint

I'm not overly happy with this... but i'm open to reviews before I delete it and try again.
Comments inline.
This `lint` task gets called from Make and handles linting *.js files recursively.