Python scripting fixes (1)

After investigating #1680 "Python scripting: 3 vs 2 data type problems" for even a little while it was evident that a number of APIs had problems.  That some APIs still had not been converted to handle string arguments under Python 3 is what drew my attention initially.  Upon examining more code, more and more oddities kept showing up that could be individual PRs, but also could all be filed under the global rubric "Python scripting needs love".

I will add commits to this pull request as I work through the APIs and routines in `fontforge/python.c`  This process will take an unknown amount of time.  (I like to prove faults through testing, and testing takes time and lots of test code... 1000+ lines so far...)

Thus this pull request can be merged and closed at any point that it seems reasonable to do so.  Perhaps at points where minor/major releases are desired.  When closed and further fixes to python.c are found I will create another PR to accumulate more commits.  The goal is to make the fixes available as soon as discovered, without creating a dozen plus PRs for each discovery.

Closes #1680.
Always expecting the argument value to be a string would be only a small goof, but expecting the value to always/only be a Python 2 string is a (residual) big goof.  (Searching for the PyBytes_* APIs used so much in Python 2 got me to a lot of places that needed 2vs3 changes; but not every such was an incompatibility - there *are* real uses for byte strings in the binary fonts!)

So instead, first check that it is indeed one of the possible types of string values (Unicode or Bytes).  Then use the magic macros (that change depending which Python version (I believe @mhosken brought these?) ) to make the version-appropriate string value accessible so that it can be used in the call.  (And gratuitously change the too generic variable name to functional meaning/usage)

In a lot of my changes I **do** try to improve the error messages, to be sure.  I really feel for the coders who have no idea what a 'tuple' is...  :)