ActionDispatch::Request#xml_http_request? should return boolean

`ActionDispatch::Request#xml_http_request?` returns a result of pattern-matching operator which return value is not boolean, but can be `nil` or integer (position of matched string).
Actually, success match and opposite cases both conveting to `false` (`0` and `nil`), which can cause a great headache.

Superclass `Rack::Request#xhr?` is closer to truth but it is case-sensitive. Maybe it's better to make a PR to Rack for this?