serf: initial push/pull implementation
serf: test local state export
serf: test MergeRemoteState
serf: adding some tests for edge cases
serf: replace panics with error return
serf: refactor the hasAliveMembers check
command/agent: shutdown can be called multiple times
command/agent: safe to shutdown without start
serf: EventType has a string
command/agent: event scripts and invoke
serf: log reconnect info
command/agent: move RPC to here
command/agent: rename files to make more sense
command/agent: events
command/agent: rpc should use the Join method on Agent
serf: check for nil serf on join
Revert "serf: check for nil serf on join"

This reverts commit efee9715f233835acba95aafcc1eb61c85579dc8.
serf: first pass at event system
command/agent: Monitor endpoint + tests
serf: Make Event an interface and use MemberEvent