Add ability to lock consul restarts
When we restart consul; we should be able to have the node locked so that the cluster will never fall into a broken state.
In discussion, we noted that 'locks' fail when a leave command is issued, so we are going to add a KeyValue store in the cluster denoting that one of the members is current restarting by name.
This is pre-work to enable #2906 (closed)