fix: wait for all goroutines to finish before Stop

Changes are as follows:

1. Use wait group to wait all goroutines to finish before Stop
2. Remove `stop` channel because its functionality could be
replaced by the wait group
3. Change `stopped` type to `chan bool`, considering it doesn't
need to transfer `stop`
4. Make `send` function also notified by `stopped`, and cancel the request
when stopped
5. Error handling in HTTP handler functions which is caused by
canceling requests
chore(handler): add error message
Merge branch 'master' of github.com:goraft/raft

Conflicts:
	server.go
chore(server): avoid blocking on event send
chore(server): improve comment
Merge pull request #211 from unihorn/55

fix: wait for all goroutines to finish before Stop