Merge pull request #683 from Turbo87/travis-ci

Travis CI support
lib: Added optional() function

This works in the same way as required() but does not throw errors
if the module was not found.
dependencies: Set `aws-sign` as optional dependency
dependencies: Set `hawk` as optional dependency
dependencies: Set `oauth-sign` as optional dependency
dependencies: Set `http-signature` as optional dependency
dependencies: Set `tunnel-agent` as optional dependency
dependencies: Set `form-data` as optional dependency
dependencies: Set `tough-cookie` as optional dependency
Added .npmignore file

Ignore the tests folder when packaging and publishing. The tests folder
is only used during development and doesn't have to be packaged in the
final tarball. This reduces the package size by another 148 kB.