Remove S3funnel from mapreduce code
Merge branch 'master' into remove_s3funnel_from_mapreduce
Merge branch 'master' into remove_s3funnel_from_mapreduce
Pass through AWS credentials if available.
Check the error name instead of number.

Also use the lib function instead of repeating the code.
Handle rename across devices.
Merge branch 'master' into remove_s3funnel_from_mapreduce
Choose your own reduce separators, add setup_reduce function

Make the field and record separators into fields so that MR jobs can specify
their own without having to post-process.  This lets us output CSV instead of
tab-separated output.

A `setup_reduce(context)` function is also added to allow jobs to do any
required pre-reduce setup.
Removed a superfluous "not None" check.
Bail (nicely) if we don't match any input files
Add an error message if we fail to fetch remotes.
Merge remote-tracking branch 'upstream/master'