Update s3 website to honor --error-document argument

When both --index-document and --error-document options are supplied,
--error-document argument was ignored.
Implements #473, adding a `--size-only` param to `aws s3 sync`
Update s3 website to honor --error-document argument

When both --index-document and --error-document options are supplied,
--error-document argument was ignored.
Merge branch 'fix-s3-get-bucket-website' of github.com:quiver/aws-cli into fix-s3-get-bucket-website
test each command in separate test case
Fix issue with shadowed max-items arguments

When we add pagination configs for a service, we hide
the original manual pagination arguments in favor of the normalized
arguments.  However, to support backwards compatability we still
allow users to specify the manual arguments.  If we detect this is the
case we will turn off pagination.

However, when the normalized argument matches the manual paging argument
(as is the case when a service users `MaxItems`), we have an ambiguous
case.  Did they mean the back-compat version of the normalized argument
version?  Previously we were assuming the user meant the manual paging
argument.  Now we assume that they meant the normalized paging
arguments.

Services impacted:

* route53
* iam
* ses
Fix failing test

We don't pass max-items anymore.
Merge branch 'page-args' into develop

* page-args:
  Fix failing test
  Fix issue with shadowed max-items arguments
Update changelog with latest changes
Bumping version to 1.3.5
Merge branch 'release-1.3.5' into develop

* release-1.3.5:
  Bumping version to 1.3.5
  Update changelog with latest changes
Flatten CloudSearch commands arguments
Code review feedback

* Updated documentation
* FlattenCommands -> FlattenArguments
* modify_args -> flatten_args, _find_nested_arg, _merge_member_config
* service -> service_name
* CLI registration is separated from object instantiation now
* AssertIn for tests
* Added a test for list types
* Added type to FlattenedArgument
* Fix CloudSearch argument hydrating to use correct types
* Some refactoring
Add CloudSearch tests
Move CloudSearch out of preview
Update changelog
Merge pull request #730 from danielgtaylor/cs-flatten

Move CloudSearch out of preview. Fixes #730.

Adds customizations to make using CloudSearch easier from the commandline.
Remove preview from CloudSearch in README
Fix py3 test failure for cloudsearch customizations

The issue is two fold.

1. We're flattening a top level expression, but replacing it with a
   nested parameter.  That is, "expression" is the top level key, but
   we want to flatten "ExpressionValue" to "expression", which is the
   same name.  There's a bug in the code where we lookup the arg table
   every time we flatten an arg.  In order to fix this, ExpressionValue
   (the thing taking the same name as the top level arg) needs to be
   last.
2. Point 1 shouldn't matter :)  We should take a reference to the
   argument object from the arg_table and use that for the duration
   of the replacement of any argument we flatten under that top level
   key.

We ran into this bug because with py3's hash randomization we're not
guaranteed to iterate over the flattened args in-order.  So I switch
to an OrderedDict.  I also implemented (2), which is to keep a reference
to the argument object while flattening nested args associated with the
same top level param.

Verified that running the tests in a loop 20 times didn't generate
any test failures.

cc @danielgtaylor
Merge branch 'quiver-fix-s3-get-bucket-website' into develop

* quiver-fix-s3-get-bucket-website:
  test each command in separate test case
  Update s3 website to honor --error-document argument
  Update s3 website to honor --error-document argument