Move {stl,stlco} into crimedb.crawl module
bin/pysh: Create wrapper for the Python shell

- This wrapper does a few nice things before starting up the interactive
  shell:

    . Set up PYTHONPATH so that CrimeDB libraries can be easily imported

    . Configure logging via the PYSH_LOG environment variable (e.g.
      PYSH_LOG=DEBUG sets the root logger to DEBUG level)
bin/crawl: Support for first crawl of new region

- Create directories and files on-demand for regions which have never
  been crawled before
bin/crawl: Ignore crimes that have no timestamp

- We should really track these, but just indicate that they occurred at
  an unknown time. For now, ignore them in our per-month roll-ups.
stlco: Create and use top-level pyproj.Proj object
Add crimedb.socrata module

- Add a new crimedb.socrata module for help in interating over datasets
  hosted by Socrata
Add new 'dallas' crawler

- Add a new crimedb.crawl.dallas crawler and update bin/crawl
bin/shp: Add file for working with shapefiles

- Supports two commands: 'export' to export a given shape to GeoJSON;
  and 'fields' to display the set of fields for each record in the
  shapefile
Allow Crime objects to have optional time.
bin/crawl: Significant overhaul of crawling

- Break crawl up in to phases: download, process, and collate; each is
  run independently via a subcommand to bin/crawl
- Add 'download' and 'process' methods to each region's crawl module
- Add ID caching code to the dallas region
Move crimedb.crawl to crimedb.regions
Fix generator bug in MapQuest geocoder

- Catching all exceptions swallows the GeneratorExit exception, which is
  a no-no. Stop it.
Big re-factor of region system

- Create a base.Region class from which all regions inherit
- Re-factor existing region code into subclasses of base.Region
- Break out 'crawl' into 'download', 'process' and 'crimes' phases and
  support selecting these in bin/update
Add GeoJSON shapes for regions to source control

- Add .geojson files to crimedb.regions package
- Use pkg_resources API to read streams automatically based on the
  region name
bin/update: Allow specifying regions to operate on