Updated CloudSearch creation process not to open it to the world.

+ Slipped in an improvement to collection mapper to be more generic e.g. allow Sets/Lists to be used as well as Collection
Does this actually work? I'm unsure that relying on the return type (C2) will give the desired result. I think we need some unit tests exercising different collection types.

Also, this implementation (as well as the one it replaces) assumes (Array)List is appropriate. What if we do not allow duplicates in the result? Perhaps better would be to pass in an empty collection to contain the result:
```java
public void map(final Collection<T1> inputCollection, final Collection<T2> outputCollection) {
   ...
   for (final T1 inputItem : inputCollection) {
      try {
         outputCollection.add(mapper.map(inputItem));
      }
   ...
}
```