tarfile: pax header and xattr support

tar archive have additional headers that store file data like security
capabilities and ACLs. These values can be packed structures, not utf8
encoded.
Python's ( < v3.3) tarfile does not support these xattr headers, and has
encoding issues on the values stored. This change includes using a
vendored version of python-2.7.6's tarfile.py, with changes to support
this.

Docker-DCO-1.1-Signed-off-by: Vincent Batts <vbatts@redhat.com> (github: vbatts)
xtarfile: exclude from flake8, and fix import path

Docker-DCO-1.1-Signed-off-by: Vincent Batts <vbatts@redhat.com> (github: vbatts)
xtarfile: vendor, rather than lib

since the 'xtarfile' is really just a vendored copy of stdlib 'tarfile',
move it out of ./lib/ to a directory called vendor.
This also helps with the coverage analysis (since it does an inclusive
mask over ./lib)

Docker-DCO-1.1-Signed-off-by: Vincent Batts <vbatts@redhat.com> (github: vbatts)
xattrs: monkey patch, instead of vendor

Docker-DCO-1.1-Signed-off-by: Vincent Batts <vbatts@redhat.com> (github: vbatts)
first unit tests for tarfiles

Docker-DCO-1.1-Signed-off-by: Vincent Batts <vbatts@redhat.com> (github: vbatts)
adding tests for TarSum

Docker-DCO-1.1-Signed-off-by: Vincent Batts <vbatts@redhat.com> (github: vbatts)
flake8 for unit tests

Docker-DCO-1.1-Signed-off-by: Vincent Batts <vbatts@redhat.com> (github: vbatts)
testing and cleanup

* cleaning up the import of monkey patched tarfile
* adding a test for vanilla tarfile (whether it still fails)
* fixing the 'assert' formatting

Docker-DCO-1.1-Signed-off-by: Vincent Batts <vbatts@redhat.com> (github: vbatts)
Merge pull request #381 from vbatts/vbatts-xattr_support

tarfile: pax header and xattr support