Create unit tests for scripts/download.js using Mocha.

To run test
```
npm install mocha -g
NODE_ENV=test mocha ./test/**/*.js --reporter spec
```

Motivation for unit testing is actually to ensure correctness of data imported to database.
But currently data import is strongly coupled with download & extraction, making it hard to test.

Ideally, the code to download GTFS, import to GTFS are loosely coupled to make testing easier.

Original ```scripts/download.js``` requires some modification to make it unit-testable
* allow code to be called from both command line (node scripts/download.js) and required as a module.
* allow download GTFS from local filesystem apart from HTTP. this is mainly to facilitate unit test.
* wrapped logs written to console with log() so that we can silence console output for test environment.
* added option to config (verbose: boolean, default to true)

Note: The indentation for scripts/download.js remained unchanged when though a huge chunk of the code are now wrapped around main().
This is to allow for clearer diff changes.
If the changes are accepted by main branch, re-format and re-indent the code to fit main branch code style.