Fix possible getaddrinfo leak in rare case.
Revert "Remove support for ! char as the escap ecommand. (Please complain if you are still using this somehow)."

This reverts commit d288af83d6fa158950e4eaad25d5e7049bb752ab.
Merge pull request #220 from sunyc/master

Revert "Remove support for ! char as the escap ecommand.