this.socket.end() needs guard against undefined

When calling reconnect() the first time, this.socket is not defined. The code I found that broke on this was using https://github.com/orlandov/node-amqp-plus to handle reconnections and only called the reconnect() to avoid having separate paths for connect() and reconnect().

This behavior seems to have changed in d729b384879b7e4e96a1ba07152d1f8a4d1caeed
Merge pull request #305 from joshwilsdon/patch-1

this.socket.end() needs guard against undefined this.socket