Improved .gitignore and .npmignore

This commit improves the `.gitignore` and `.npmignore` files.
Here are the two main changes:

1. dot files are now in a white-list rather than a black-list
2. log files are by default ignored (like the `npm-debug.log` file)

This shouldn't add any breaking changes but could cause a conflict with one of my earlier pull-requests (#60) where I also modified the `.gitignore` file so as to not commit test coverage files (the whole `spec/coverage` folder).
If this is the case, the `.gitignore` file this commit is newer and should prevail.