Merge branch 'release-1.4.0' into develop

* release-1.4.0:
  Bumping version to 1.4.0
  Fixed a couple unit tests.
  Move emr out of preview.
  Further cleanup of help text.
  EMR: Removed Version from step schema.
  Squashed commit of the following:
  EMR create-cluster: Change --visible-to-all users to be true by default.
  EMR: Add MasterPublicDnsName in describe-cluster output.
  EMR: Added default configuration for create-cluster. Fixed create-cluster.rst format. Added shortcut options --instance-type and --instance-count to --instance-groups.
  EMR: Removed Version from Applications schema.
  EMR: Add cluster state filters shortcut --active, --terminated and --failed in list-clusters command.
Refactored s3 plugin structure.

This made the s3 plugin follow the design structure for a
CLI plugin. Some features in CLI were changed to enhance
plugins such as changes made in ``BasicCommand`` class.
Moved properties to ``BaseCLIArgument``.

Made some PEP8 changes as well.
Changed the defaults of some of the arguments.
Merge pull request #869 from kyleknap/refac_s3

Refactored s3 plugin structure.
Update changelog with latest changes
Bumping version to 1.4.1
Merge branch 'release-1.4.1'

* release-1.4.1:
  Bumping version to 1.4.1
  Update changelog with latest changes
  Changed the defaults of some of the arguments.
  Moved properties to ``BaseCLIArgument``.
  Refactored s3 plugin structure.