Allow pkg.install to install packages with an arch in the name

This is for (often) poorly created vendor packages such as kernel modules
where you can't easily re-spin a more correct rpm due to vendor support
issues.

Fixes #13924
Make s3fs work better.

S3 uses https ETag headers. In some cases (non-multipart uploaded
files), the ETag header is the md5sum of the file. In other cases
(multipart uploaded files) the Etag does not correspond to anything
calculable locally. In that case, files used for the salt filesystem
backend would be downloaded every time the s3 cache timeout expires (a
static 30 seconds). Fortunately, non-md5sum ETags have a hyphen in them.
This patch applies the following logic to such files. If the cached
file is the same size in bytes and has a later last modification time,
it will be considered up to date and will not be downloaded. Otherwise,
it will be updated.

(cherry picked from commit 858e5f9c1d6fd41a8916e8127a2c92ce729ae9aa)
Signed-off-by: Warren Turkal <wt@signalfuse.com>

Conflicts:
	salt/fileserver/s3fs.py
Starting on function docs for key.py
Add another doc string
Merge branch 'no-pkg-name-normalize-helium' of https://github.com/SEJeff/salt into SEJeff-no-pkg-name-normalize-helium
Tweaks to pkg.instaled state docstring
Merge branch 'SEJeff-no-pkg-name-normalize-helium' into 2014.7
Merge pull request #15761 from cachedout/key_doc

Key doc
Merge pull request #15715 from wt/wt_make_s3fs_more_complicated-2014.7

Make s3fs work better.
Use `-oIdentityFile` instead of `-i`