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.
feat(prevNode): add "prevNode" to "Set" response
feat(prevNode): add test for prevNode
Merge pull request #535 from robszumski/master

fix(docs): explicitly create links instead of using the markdown parser
fix(watch hidden key) Fix hidden keys preventing deeper recursive watches from receiving events
If a watcher has given the correct hidden directory, we should allow it to watch the non-hidden events under that hidden directory. This pull request achieves this by checking if the path after the watching prefix has a "/_" which indicates a hidden key.
chrod(watcher_hub) add comment to isHidden function
test (isHidden) add unit test for isHidden function
Merge pull request #537 from xiangli-cmu/fix_hidden_watch

fix(watch hidden key)
refactor(dashboard): Restructured front-end dashboard code.
fix(dashboard): bugs in key browser and stats page.
Fixed key add, key delete bugs. More refactoring.
fix(build): Use ngmin. Fix all introduced erros in previous commits.
fix(watcher_hub) isHidden checks the length of the watchPath before getting subString of keyPath
Merge pull request #538 from xiangli-cmu/fix_hidden_watch

fix(watcher_hub)
refactor(tls): clarify & simplify tls configuration
fix(scripts/test-cluster): fix backwards logic on peers add
fix(tests/v1_migration): add a -name flag

The info flag is ignored as of 1c91c167fc98608ef850a7539550bfc15dedbb46
so in order for this test to work we need to add `-name` flag.
feat(server): make the RetryInterval of PeerServer tunable

For tests and other environments it would be nice to be able to tune how
long to sleep between retries.
feat(tests/discovery): use low retry interval

In TestDiscoverySecondPeerFirstNoResponse use a low retryinterval so the
test doesn't take forever.
hack(tests/discovery): don't use go-etcd for watch

go-etcd has a bug in the watcher that holds open a goroutine. Avoid
goetcd for this operation until it is fixed.