required() should be a property on CustomArgument
Move uri param processing into an event handler

Previously this logic was baked into the argument
subclass that mapped to parameters in the JSON model.
However, non model arugments should be able to leverage this ability
without subclassing the JSON model specific argument class.

The change here is to move that processing into an event.
There's a `load-cli-arg` event that fires.  The `get_paramfile`
hooks into this and performs its logic.
Use crossplatform tempfile

This will work on windows as well.
Incorporate review feedback
Merge branch 'argproc-enhancements' into develop

* argproc-enhancements:
  Incorporate review feedback
  Use crossplatform tempfile
  Move uri param processing into an event handler
  required() should be a property on CustomArgument
Remove session from paramfile interface

The session variable isn't being used and makes it an unnecessary
requirement for code that wants to use this functionality.

The session variable would be useful for code that needs to make
AWS requests.  For example, if we support `s3://` prefix in the future
(there's an existing issue for this) then *that* code would need to have
a reference to a session.  However, I think each handler should be
responsible for getting its necessary dependencies.
Add test for #622

This also will catch any groff warnings printed to stderr.
Depends on: https://github.com/boto/bcdoc/pull/27
Add #622 to changelog
Merge branch 'no-session-uri' into develop

* no-session-uri:
  Remove session from paramfile interface
Merge branch 'elb-help-error' into develop

* elb-help-error:
  Add #622 to changelog
  Add test for #622
Move sleep statement to fix intermittent test failures

We can ensure that our test does what we want by making
sure there's a couple seconds difference between create time
and file upload time.
Merge branch 'fix-windows-test' into develop

* fix-windows-test:
  Move sleep statement to fix intermittent test failures