Close TcpClient in ApplePushChannel prior to reconnecting

Suspect our problems in #157 may be due to a resource leak following socket disconnection - the old TcpClient is never explicitly disposed. I've added code to call `Close()` on the TcpClient prior to reconnection.