Compatibility with browserify

In a browserify package, `this` will refer to a node-style
exports object, not window. So just reference `window`
directly.
Merge pull request #1572 from jfirebaugh/browserify

Compatibility with browserify
Add prepublish script to package.json

Also, npm scripts are run in an environment with node_module
binaries in the path, so just "jake test" and "jake" are sufficient.

https://npmjs.org/doc/scripts.html
Throw an exception if a map div is not found

and test for initialization exceptions
Fixed zoom out on Windows 8 with Firefox

Firefox receives wheel delta of 0.33 on zoom in and -0.33 on zoom out, which turns into Math.ceil(0.33) == 1 and Math.round(-0.33) == 0. After this fix it returns correctly -1 for zooming out.
Worked fine before and after this fix in Chrome and Internet Explorer.
Merge pull request #1575 from cschwarz/patch-1

Fixed zoom out on Windows 8 with Firefox
Merge pull request #1574 from tmcw/map-initialization-exception

Throw an exception if a map div is not found and test for initialization exceptions
Merge pull request #1573 from jfirebaugh/prepublish

Add prepublish script to package.json
Update deps.js

In module TouchZoom in deps specified old module name "MapAnimationZoom". Should be "AnimationZoom".
Merge pull request #1579 from AndreyChizh/patch-1

MapAnimationZoom -> AnimationZoom
Permit layer stamping to be overridden
Merge pull request #1581 from jfirebaugh/getLayerId

Permit layer stamping to be overridden
dblclicking now zooms around mouse, not centre
add map setZoomAround, merge #1582, close #1157
more strict jshinting, enforce single quotes and camelCase for consistency
cleaner jshint config
update build
Add .npmignore

Without a .npmignore, the default is to ignore what's in
.gitignore, which includes dist/*.js, which should not
be npm-ignored.