Handle status code 204 properly

An API server may return "204 No Content" for PUT or DELETE request,
but apiProxy ignores it and returns "200 OK" on the server side.
Then, on the client side, jQuery detects "parseerror" because the
response has no body.

This patch makes apiProxy handling status code 204 properly.
And also, it converts status 304 into 500, because a valid API server
never returns it (because apiProxy doesn't send cache related headers
such as "If-Modified-Since:".).