minor bugfix

I noticed some tails where being set as not-null even though they should be null (they take old ghost values). Turns out the tail in the client_ctx struct (which is reused and only allocated once) isn't being cleaned up properly in delete_client(). 

Also changed some HTTP return codes to be more descriptive/accurate. (reference: http://en.wikipedia.org/wiki/List_of_HTTP_status_codes)