Created unit tests for scripts/download.js using Mocha

Hi, 
I was planning to port the library to store GTFS feed into [ArangoDB](http://arangodb.org) (and maybe possibly make it database agnostic) while retaining the main APIs.

But before I proceed, I thought it would be wise to approach it in a TDD/BDD way
So I created unit tests for scripts/download.js first. Subsequently, unit tests for the main lib/gtfs.js will be written next.

I thought it would be helpful to have tests for the original branch anyway, so let me know you are open to contributions in that regard.

Thanks!

**To run test**
```
npm install mocha -g
NODE_ENV=test mocha ./test/**/*.js --reporter spec
```

**Details**
Motivation for unit testing the download script 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 download to be invoked from both command line (node scripts/download.js) and required as a module.
* allow download a GTFS feed 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 even 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.