Support negative substring indexes

This change makes plString::Substr's start parameter treat negative values as being from the right-hand side of the string.  As an added bonus, this also defines ssize_t on MSVC, which otherwise does not define it anywhere.  This definition should be compatible with Python's Py_ssize_t  type, at least in Python 2.7.

This PR supersedes and closes #315