Adds public uploadFileList method to TransferManager for use-case of ignore/exclude lists

Add a public **uploadFileList** method to **com.amazonaws.services.s3.transfer.TransferManager**.

This is a more **generalized MulitpleFileUpload method** than the **uploadDirectory** method. The user can create a List<File> herself/himself and therefore can implement an **include/exclude list** of files to upload. Given a common parent directory of all files on this List<File> and the virtualDirectoryKeyPrefix, the S3 storageKey is generated.

All logic is drawn from the **uploadDirectory** method into to **uploadFileList** method. The **uploadDirectory** method itself just creates a FileList and calls the more general **uploadFileList** method.