Added lock section to Reload()

Reload() should probably grab the lock before writing to FinishAction and ConnectionType, since CheckConnection() uses those values.  With DynamicVariables turned on, Reload() could conceivably mutate those values while CheckConnection() was still using them.

However, if CheckConnection() hangs, then Reload() may stop while waiting for the lock.  Haven't sufficiently tested to see if this would be an actual problem.