Update requirements.

  o This required the regular updates to .pylintrc and various changes
    in the source code to pass the new linter checks.

  o This updates to the new setuptools

  o This upgrades to the new pytest-datafiles 3.0 API

    This required many changes to tests, the new API is however
    a bit simpler to work with, and now preserves file permissions
    staged into the test location.

    Especially:

     o artifact_list_contents.py: Expect different results now that
       the hello script is executable.

     o completions.py: Update cache keys. This is not a cache key break,
       but upgrading pytest-datafiles causes the artifact used in the
       `bst artifact log` completion test to be legitimately different.

  o This required limiting the indirect isort dependency in dev-requirements
    since the latest version is not available for Python 3.7
41 files changed