Add unittest for website redirect location
Clean up existing filter unit tests

This makes the unit tests more concise and easier to
follow.  Removes a lot of the duplication.  Also makes it
easier to write new filter tests.
Fix bug when filtering s3 locations

The pattern is evaluated against the entire bucket.  This doesn't
mattern for suffix searches, but for a prefix search, you'd have to
include the bucket name.  This is inconsistent with filtering local
files.  Now they're both consistent.  Given:

  --exclude 'foo*'

This will filter any full path that startsw with foo.  So locally:

  rootdir/
    foo.txt      # yes
    foo1.txt     # yes
    foo/bar.txt  # yes
    bar.txt      # no

And on s3, we now have the same results:

  bucket/
    foo.txt      # yes
    foo1.txt     # yes
    foo/bar.txt  # yes
    bar.txt      # no

I also added debug logs to help customers troubleshoot why their
filters aren't working the way they expect.
Allow the --protocol option of ec2 create-network-acl-entry command to accept tcp|udp|icmp|all in addition to the numeric protocol numbers.  The docs for the command already say it does this but the actual EC2 operation supports only integer values.
Change mututally to mutually
Merge branch 's3-fnmatch-bucket' into develop

* s3-fnmatch-bucket:
  Fix bug when filtering s3 locations
  Clean up existing filter unit tests
Merge branch 'carsonmcdonald-mututallytomutually' into develop

* carsonmcdonald-mututallytomutually:
  Change mututally to mutually
Merge branch 'fix-508' of git://github.com/garnaat/aws-cli into garnaat-fix-508
Merge branch 's3-website-redirect-test' into develop

* s3-website-redirect-test:
  Add unittest for website redirect location
Update changelog with the latest changes
Merge branch 'changelog-update-1' into develop

* changelog-update-1:
  Update changelog with the latest changes
Bumping version to 1.2.7
Merge branch 'release-1.2.7' into develop

* release-1.2.7:
  Bumping version to 1.2.7
Use HeadObject to retrieve fileinfo for single file

The fix for #328 resulted in dummy data being used for
the last modified and the file size.

While this functionally still works, this actually causes an issue
in that we don't have the file size available to determine whether or
not we should download the file in parallel.  This is also going
to be problematic for multipart copies where we need to determine if we
need to use a multipart upload for the s3->s3 copy.

The permissions referenced in the original issue should still hold, you
only need s3:GetObject, ListObjects is not needed.

I've updated the tests to verify that the fileinfo objects we get back
are the actual size of the files in s3.  Previously they were just
setting their size to actual_value.size, which would never fail.

One final thing added for this change was more detailed error messages.
The HeadObject is going to be the first operation we try, so if anything
goes wrong (key does not exist, permissions issues, etc) this will be
the first error message someone will see.
Add integ test that shows the new error message
Remove return statements used in debugging
Merge branch 'fix-s3-download-perf' into develop

* fix-s3-download-perf:
  Remove return statements used in debugging
  Add integ test that shows the new error message
  Use HeadObject to retrieve fileinfo for single file
Support multipart copy for s3->s3 transfers

We now fully support all parallel transfers for all supported transfer types:

* local -> s3
* s3 -> local
* s3 -> s3
Support multipart copies with the "cp" command
Fix issue with float casting