Platinum Separate 500 Internal Server Errors

These are some utility changes I made to help investigate a problem with a
UPNP client that was causing XBMC to generate HTTP 500 errors. When I looked
into it, I found that there were 11 separate reasons for this error - all
11 do a goto bad_request. I decided to separate them out into 11 separate
error texts (all still HTTP 500) to make it easier to find the problem. It
worked and was useful to me (I have taken the problem up with the devs of the
client), so I thought I'd do a pull request in case anyone else things it
would be useful to keep in the code?

Stylistically, I've kept to the same structure that was already there.

I've also created a patch file.