Python API bugs: PyFF_PrivateIndexAssign

These are the APIs that use the PostScript private dictionary returned
from font.private, which values are found in BeginPrivate sections in
.sfd files such as /tests/Ambrosia.sfd

Very confused code...

The code was accessing the 'index' argument a second time through copy-n-paste
typo, when it meant to gather the input 'value' argument.  Thus the dictionary
entry was being assigned the key as value!

Use of Py_DECREF() to simulate cleanup actions of ENDPYGETSTR() was flawed by
using the wrong variable.

Out of order use of ENDPYGETSTR() and use of string reversed.

The mechanism to free any allocated memory was corrected.

Error messages expanded a bit to be more descriptive.

Tested with several calls and values, but not quite exhaustively, under
both Python 3 and 2.