[pkg] Use io.open with utf-8 encoding to read long description from README
This forces decoding so that this is consistent between Python 2 and 3 as, in
Python 3, decoding which would occur anyways and may fail depending on the
environment locale settings.
Test and fix "pickleability" of Binary objects
which has been recently broken while some cubes rely on this (eg fastimport).
Do some licensing/pep8 cleanup along the way.
Closes #13385274