Fix for #747 system proxy issue

The primary change here is just the following:

1) Add an event in Settings.java to fire when the system proxy setting changes
2) Add a listener in Proxifier that responds to that event

The other changes are just minor cleanups (new subroutine in Proxifier to avoid duplicating code for example) or log additions to make life easier.