added max_hours_idle option
we now infer region endpoints (fixes #658, #621)

factored a lot of AWS administrivia out of emr.py into aws.py
added max_hours_idle functionality, going to try it out
got create-job-flow to set an IsIdle alarm
added comment explaining what we'd need to do to give CloudWatch the info
it needs to terminate idle job flows' master nodes, and why it doesn't
work anyway
ripped out (useless) CloudWatch code. See issue #628.
Merge branch 'master' of github.com:Yelp/mrjob into lyft-self_terminating_job_flow

Also updated description of max_hours_idle option

Conflicts:
	docs/guides/configs-reference.rst
working bootstrap script to terminate idle job flows
Added license and further comments
added bootstrap script to distribution
included examples and their data files in the distribution
whoops, fixed bug that made MAX_SECS_IDLE unconfigurable
integrated mrjob/bootstrap/terminate_idle_job_flow.sh into mrjob/emr.py
and made it consistent with mrjob/tools/emr/terminate_idle_job_flows.py
(bootstrapping doesn't count as idle)
added mins_to_end_of_hour option
oops, fix variable name shadowing bug
whoops, don't need to add the idle timeout twice
don't add max-hours-idle script if job flow is set up to terminate
when there are no more steps
daemonize terminate_idle_job_flow.sh, so bootstrapping will finish
fixed failing create-job-flow test (needed to add new options)
whoops, don't need maxDiff