Improved Reconnect feature

- allow reconnect starting if active downloads in queue are resumable
- don't reset plugin waiting if don't wantReconnect
- retry many times as set if reconnect fail
- allow reconnect abort when `reconnect:before` is fired
- fire `reconnect:failed` event if ip address is not changed
- fire `reconnect:after` event and give value of previous ip too
- api method `reconnect` force reconnection even if there're active dl waiting or not resumable (ideally for webui only)

Related to http://forum.pyload.org/viewtopic.php?f=13&t=2976 (reconnection could be stopped through reconnect:before hander calling self.reconnecting.clear() )