Fix gaping remote execution vulnerability.

Wow. We were taking client input as POST parameters and then executing them as the app process owner on the remote box. And we weren't escaping for the shell. O_O