move fireEvent goroutine to inside loop
move fireEvent goroutine to inside loop

Although the fireEvent() is invoked while holding the lock, it can't
depend on subscriptions to be stable for iteratation because once the
old goroutine runs, other concurrent mutations might be happening.
Instead, iterate with the lock and fire off N goroutines for N
subscribers for a key.

couchbaselabs/cbft,nimishzynga/cbft,nimishzynga/cbft,couchbaselabs/cbgt,couchbaselabs/cbft,steveyen/cbft,nimishzynga/cbft,steveyen/cbft,couchbaselabs/cbgt,nimishzynga/cbgt,steveyen/cbft,nimishzynga/cbgt,nimishzynga/cbft,couchbaselabs/cbft,couchbaselabs/cbgt,couchbaselabs/cbgt,couchbaselabs/cbft,steveyen/cbft,nimishzynga/cbgt,steveyen/cbft,nimishzynga/cbgt