Move mission get_parm_value::buf onto caller stack
Throw runtime_error on bad HMP decode

Returning 0 writes a zero into the length field, which will likely break
things later.  Throw an exception to make bad HMPs obvious.
Use new/delete for credits
Remove bogus PHYSFS_readSBE32 return test

PHYSFS_readSBE32 returns 0 or 1, never EOF.