Provide npm with a real .npmignore

The .gitignore file results in an implicit .npmignore that does not
include the UI visible version file. This is a simple way to get it
back while also introducing more explicit control over what is packed
into the npm pack generated tarball.