fix(mod/lock): Use dedicated channel to shutdown goroutine properly

If closeChan is available and stopWatchChan was closed by defer
select selects a single channel randomly. This causes a panic sending to closed
channel.
fix(mod/lock): Use CreatedIndex in the first node to watch

ModifiedIndex in the lock directory is not incremented and the event
store has only 1000 histories for now.

Acquiring a lock is not queued while (index - ModifiedIndex) > 1000 and
prevIndex exists.
Merge branch 'mod-lock-fixes' of https://github.com/nabeken/etcd into nabeken-mod-lock-fixes

Conflicts:
	mod/lock/v2/acquire_handler.go
Merge remote-tracking branch 'upstream/master'

* upstream/master:
  fix(mod/lock): Use CreatedIndex in the first node to watch
  fix(mod/lock): Use dedicated channel to shutdown goroutine properly