Don't send HEAD request for all S3 objects, ignore gzipping

Instead always get MD5 from etag even if file is gzipped.
Optimize select_in_outer_array function

O(n^2) works pretty bad for large number of objects.
Update tests

Now we always return MD5 of S3 object content (even if it's gzipped),
so some tests can be removed.
Bump version to 2.0.0 (non-backwards compatible changes)
Merge branch 'concord-consortium-fast-diff'