Document openaddresses module.

lib/addresses/openaddresses.js
  -Add documentation comments to all functions.
Fix a number of memory issues.

index.js
  -Convert the `addressStream` `CombinedStream` to an object
  containing multiple `CombinedStream`s, each of which is reserved
  for a different dataset.
  -Fixes an `DelayedStream#maxDataSize of Infinity bytes exceeded`
  exception that was being thrown.
  -Add TIGER Shapefile streams via a deferred callback, because
  the `shapefile` library wasn't playing well when multiple read
  streams were created and inserted into the TIGER
  `CombinedStream` one after the other.
Partition handleUserArgs() into two functions.

index.js
  -`handleUserArgs()`'s grown too big; partition it into another
  function, `importDatasets()`.
Create dataset_import module.

index.js, lib/dataset_import.js
  -Follow up on 0a46c73: move code that governed the data import from
  the package's main entry points, the `index` module, to a new one
  called `dataset_import`.
Define Address methods toCSV(), toGeoJSON().

lib/address.js
  -Rename `Address.serialize()` to `Address.toCSV()`.
  -Define `Address.toGeoJSON()`.
Require Winston logger, def configureLogging().

index.js
  -Define and integrate `configureLogging()` into `handleUserArgs()`.

package.json
  -Add `winston` logger package.
Add logging statements to dataset_import module.

lib/dataset_import.js
  -Convert `console.log()` calls to `logger.info()`.
Merge branch 'feature/logging' into develop

index.js, lib/dataset_import.js
  -Add logging to the import pipeline.
Merge branch 'develop'

Add logging to the importer.