Set a default timeout if user doesn't provide one.

Fixes #2.
Add tests.
Add package.json
Add .gitignore