added test to catch bad interaction with max_hours_idle
added test to catch pool_hash_and_name()'s problem with max_hours_idle
fixed pooling/max_hours_idle bug, added additional tests
added test to catch problem with pooling and cancelled steps
tests for pooling and pending/cancelled steps now pass!

also made warning about using ami_version 'latest' only fire once, and
fixed issues in mockboto with step args and limits on simulating progress
faithfully mocked the way boto wraps each step arg in an object

(which boto deserves!)
Merge branch 'master' of github.com:Yelp/mrjob into lyft-failed_job_flows
whoops, constant in the wrong place
updated copyright info
Merge pull request #750 from davidmarin/lyft-failed_job_flows

pooling fixes