Add handler for invoking node on_connect/on_disconnect functions

The Discovery.NodeConnector.Handler behaviour can be implemented and passed as an argument to Discovery.Poller.start_link/2. Everytime a node is connected to, reconnected to, or disconnected from the functions each handler expose will be run.

/cc @gamepoet 
Increase poller retry to 30 seconds from 5. This is how long we wait to retry to talk to Consul itself.