Add string_pstrdup(): error checking, avoid buffer deallocation
string_pmemdup() to use str() objects as null terminated APR hash keys
Add string_dict_to_hash(); check for errors; ensure buffers not freed

Temporary buffers are allocated in the APR pool to hold the strings because
the original objects may be freed before the Subversion call is finished.
Add py_to_svn_string() to help check errors and avoid buffer deallocation