xhr.status should accept 204 No content and 304 not modified as successful

Basically all 200-something codes and 304 not modified are to be considered successful. 

Certainly not an expert on these things, but this solves an issue I had recently, and it's also how jQuery and Zepto treats statuses.