Add a pusher shutdown method.  Call it when CardThread is dying.

Also, make CardThread attempt to exit gracefully.