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.
doc(CompareAndDelete): Add missing CAD docs

Fixes issue #549
doc(CompareAndSwap): clarify prevIndex in CAS
chore(gofmt): gofmt compare_and_delete_command.go
feat(scripts): use zip for windows and darwin

zip files are more common on OSX and windows. Use those file formats for
those two platforms.
Merge pull request #551 from bcwaldon/doc-compareAndDelete

Document CompareAndDelete
Merge branch 'mod-lock-fixes' of https://github.com/nabeken/etcd into nabeken-mod-lock-fixes

Conflicts:
	mod/lock/v2/acquire_handler.go
fix(server/tls_info): use all certificates in CA file

fixes coreos/etcd#553