Implemented reconnect logic that employs an indefinite attempt option as
well as an exponential back-off algorithm for the reconnect timing that
has a configurable time limit. (Thx benbro for the suggestion)