Use setuptools 5.0 (==3.8.1) because of a regression in 4.0.1

See https://rbcommons.com/s/twitter/r/517/ and
https://mail.python.org/pipermail/distutils-sig/2014-June/024478.html

Testing Done:
CI passed

Reviewed at https://rbcommons.com/s/twitter/r/520/
Added utf-8 headers to all python files

Added # content=utf-8 headers to all python files

If you use any non-ascii unicode in a file, this is required.

See a follow on patch  https://rbcommons.com/s/twitter/r/524/ that adds a test so we will check to see that new files contain the header.

This is a mechanical change, I used this script:

#!/bin/bash

for i in $(cat /tmp/files.out) ; do
  FILE=$i
  HEAD=$(head -1 ${FILE})
  if [ -f "${FILE}" -a "# coding=utf-8" != "${HEAD}" ] ; then
    mv "${FILE}" "${FILE}.tmp"
    if [ $? != 0 ] ; then
      echo "Couldn't move '${FILE}'"
      exit 1
    fi
    echo '# coding=utf-8' > ${FILE}
    cat ${FILE}.tmp >> ${FILE}
    rm ${FILE}.tmp
  else
    echo "********* HEAD was ${HEAD}"
  fi
done

Testing Done:
running ci.sh

See https://rbcommons.com/s/twitter/r/524/

Bugs closed: 227

Reviewed at https://rbcommons.com/s/twitter/r/523/
Kill the now unused Group class.

Testing Done:
$ ./build-support/bin/ci.sh

Bugs closed: 229

Reviewed at https://rbcommons.com/s/twitter/r/527/
Added a test to show that all files have 'coding=utf8' on them