Add support for struct with list param shorthand

This was already supported within a list via
`list-structure(list-scalar, scalar)` but not in the non-list form of
`structure(list-scalar, scalar)`. This commit adds support and refactors
the code to reuse as much as possible between the two.
Update changelog
Merge branch 'struct-list-scalar' into develop. Fixes #882.
Added support for warning about and skipping files.

Files that do not exist or user does not have read access to
are skipped and users are warned that the file is skipped.
Enabled skipping and warning special files.

Files include character special devices, block special devices,
FIFO, and sockets.
Added Windows compatibility to warning about files.
Merge pull request #881 from kyleknap/warnings

Added support for warning about and skipping files.
Fixed tests when user is the root.

Mocked read permissions in the unit tests.
Error out for remaining args in custom commands
Merge pull request #884 from kyleknap/fix-test

Fixed tests when user is the root.
Fixed a Windows integration test.
Merge pull request #887 from kyleknap/fix-integ-test

Fixed a Windows integration test.
Add entry to changelog
Merge branch 'error-unknown-args' into develop

* error-unknown-args:
  Add entry to changelog
  Error out for remaining args in custom commands
Enabled ``--page-size`` as global argument.

The page size controls the amount of items returned by
each page while paginating. Smoke tests were added for ``ec2``
and ``s3api`` to ensure the parameter does what is expected to
do for known paginating operations.
Throw error when too few args are passed to s3.

The error message was also made to be consistent with
the rest of the CLI.
Fixed the ``s3 website help`` command.
Merge pull request #889 from kyleknap/page-size

Enabled ``--page-size`` as global argument.
Merge pull request #893 from kyleknap/no-args-error

Throw error when too few args are passed to s3.
Merge pull request #894 from kyleknap/web-doc-bug

Fixed the ``s3 website help`` command.