Prevent duplicate detach() calls with push (#13261)

This used to happen when push was disconnected due to a UI or session
expiring. requestStart() and requestEnd() were called on disconnect
even though a disconnection is not a request.

Change-Id: I31d9cae65ec75b5046802a54bbe4564d6e44b29f