Added support for parameter validation when sending requests

By default, when sending an invalid request to a service, the SDK will now throw a validation error explaining what is wrong with the input. For example, the following operation:

    s3.client.putObject({Bucket: bucket, Body: 'data'});

Will throw:

    [MissingRequiredParameter: Missing required key 'Key' in params]

Since the object Key parameter was omitted. Parameter validation can be disabled globally by unregistering the `AWS.EventListeners.Core.VALIDATE_PARAMETERS` listener:

    AWS.EventListeners.Core.removeListener('validate',
      AWS.EventListeners.Core.VALIDATE_PARAMETERS);