Refactored startup to be a little more self-documenting along with a number of other fixes.

Here's a quick summary of additional fixes:

1. Fixed bookkeeping of proxies when proxies come back up to avoid showing an erroneous message to the user indicating no proxies are available (#1511)
1. Refactored NetworkTracker listener code to only notify DefaultProxyTracker, the only class that ultimately needed to know about NetworkTracker events
1. Refactored NetworkTracker listener code in DefaultProxyTracker to avoid NullPointer in ProxyHolder constructor and to be a little clearer
1. Fixed StackOverflowError in XMPP reconnection code that would recursively try to connect, attempting to fallback to a proxy (#1517) 
1. Modified DefaultProxyTracker to add TCP proxies immediately on a thread instead of waiting 5 seconds plus however long it takes to connect. This lets callers return immediately, whereas with the existing code connection attempts would only time out after 60 seconds, leading the caller to block for 65 seconds total in the worst case
1. Fixed a NullPointer in kscope ad processing (#1515)
1. Added -Xmx flag to production launchers (#1513)