Changed to use the new 'has_pure_modules()' and 'has_ext_modules()' methods   provided by Distribution. Cosmetic and error message tweaks. Simplified 'make_release_tree()':   * extracted 'distutils.util.create_tree()'   * don't have to do hard-linking ourselves -- it's now handled by     'distutils.util.copy_file()' (although the detection of     whether hard linking is available still needs to be factored out) Removed 'make_tarball()' and 'make_zipfile()' entirely -- their role   is now amply filled by 'distutils.util.make_archive()'. Simplified 'make_distribution()':   * use Distribution's new 'get_full_name()' method   * use 'make_archive()' instead of if/elif/.../else on the archive format
Changed to use the new 'has_pure_modules()' and 'has_ext_modules()' methods
  provided by Distribution.
Cosmetic and error message tweaks.
Simplified 'make_release_tree()':
  * extracted 'distutils.util.create_tree()'
  * don't have to do hard-linking ourselves -- it's now handled by
    'distutils.util.copy_file()' (although the detection of
    whether hard linking is available still needs to be factored out)
Removed 'make_tarball()' and 'make_zipfile()' entirely -- their role
  is now amply filled by 'distutils.util.make_archive()'.
Simplified 'make_distribution()':
  * use Distribution's new 'get_full_name()' method
  * use 'make_archive()' instead of if/elif/.../else on the archive format

sk-/python2.7-type-annotator,sk-/python2.7-type-annotator,sk-/python2.7-type-annotator