Improve logic for auto-reconnect (Being more explcit)

The logic for auto-reconnect was a little flakey. We want:

* Reconnection on loss enabled AND the server being up for reconnection
OR
* Reconnection on transient network AND the network being
 transient

to trigger not showing the "Your connection has broke! Reconnect?"

This fixes basic regression wherein disconnections via ping timeout and high latency drops causing problems.  Also made every call around the reconnecting server list to be synchronized. I probably need to make the call to isNetworkTransient synchronized too
Clean up model.Message

This has a happy side-effect: Changes to the settings will be reflected -- ColorSchemes and all that jazz are *really* actually reflective of the settings in use.
Variation, plus fix a slight problem where some color schemes had no valid colors after trying to make all the text look readable.
Fix bug #34 - Autoconnect on first start causes crash.