I/O control for non-streaming jars issue #644

I followed @davidmarin suggestion. It doesn't have documentation or
tests yet but it seems to work in my limited trials. Let me know what
you think.

Signed-off-by: Tim Henderson <tim.tadh@gmail.com>
Input markers are now not auto added
Documentation for changes to JarStep.

This documents how Jar step now works. I provide some code docs on
how the input/output is added to the step_args and some usage docs.

Signed-off-by: Tim Henderson <tim.tadh@gmail.com>
Merge branch 'master' into bug/non.streaming.jar
Merge branch 'master' of github.com:Yelp/mrjob into hadoop_jar_io
Merge branch 'bug/non.streaming.jar' of github.com:timtadh/mrjob into hadoop_jar_io

Conflicts:
	mrjob/emr.py
simplified JarStep argument interpolation
renamed _s3_step_* functions to simply _step_*, which is more correct
add jar step io interpolation to hadoop runner
stop pretending Python is Coffeescript
don't interpolate nonexistent step_args
account for step_args being None
add timtadh to __credits__
Merge branch 'master' of github.com:Yelp/mrjob into hadoop_jar_io
removed unnecessary and confusing annotation from comment
added working example of combining JarSteps and python steps
fixed docs for mrjob.step
improved documentation of self.mr() and MRJobStep
rename MRJobStep MRStep
keep old "MRJobStep" name for backwards compatibility