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/v1): don't fail put on new v1 key

We weren't checking for PrevNode being nil in the v1 code path. Do this
and add a test.

Fixes #557
Merge pull request #558 from philips/v1-put-crash-fix

fix(server/v1): don't fail put on new v1 key
fix(Documentation): single machine clusters have some stats undefined

document that single machine clusters will omit sendBandwidthRate and
sendPkgRate.

Via http://thread.gmane.org/gmane.comp.distributed.etcd/218
add(server/v1/tests): Port many of the v2 HTTP handler tests to v1

This should cover most aspects of the v1 API but being new to the etcd
code base I cannot promise that or that the tests are even correct.
They do pass though :)
Merge pull request #560 from marineam/test-v1

add(server/v1/tests): Port many of the v2 HTTP handler tests to v1
fix(server/tls_info): use all certificates in CA file

fixes coreos/etcd#553
Merge pull request #554 from mfischer-zd/tls_fixes

fix(server/tls_info): use all certificates in CA file
Merge pull request #559 from philips/document-missing-stats

fix(Documentation): single machine clusters have some stats undefined
bump(github.com/coreos/raft): cff0a00
Merge pull request #563 from benbjohnson/raft

bump(github.com/coreos/raft): cff0a00
chore(server): add +git to the version

we need to automate this but make sure versions built from git have
+git after the version number.
fix(etcd): get consistent with etcdctl on printing versions

Lets get a bit more consistent in printing the versions:

```
$ ./bin/etcd -version
etcd version 0.3.0+git
$ ./bin/etcdctl -v
etcdctl version 0.3.0+git
```