Fix always return rc of 0 for ls

Fixes https://github.com/aws/aws-cli/issues/866

Now if a user specifies a key when running ``ls``, it will return 1 if there are no common prefixes nor objects when listing objects using that key.

When a key is not specified (i.e. listing buckets or when specifying an empty key for listing objects in a bucket) a rc of 0 is always returned given the assumption no client error was thrown.

cc @jamesls @danielgtaylor