Only require boto if we'll need it

If we're running in --local-only mode, then a missing boto library is not really
a problem.
Make aws_key and aws_secret_key optional.
Fix a bug where records could be double-processed

If the download cache dir was used as the local data dir, then any files found
both remotely and locally would be processed twice. We now dedupe remote files
before partitioning.
Add a util for installing histogram_tools.py
Merge branch 'mapreduce_without_aws_credentials'