Add more s3 validation.

Added more validation to s3 config params.
Updated validator to use the new configuration groups (s3_client_config,
s3_object_config).
Use array_replace_recursive for mergin storage options.

We're now using array_replace_recursive to merge more complex storage
options in order to ensure certain default array keys will always exist.
Fix bug when referencing s3 bucket.

Fixed a bug due to improper referencing of the s3 'Bucket' config.