serf: expose a protocol version from Serf
serf: keep track of the protocol verisons of each member
command/agent: can specify the protocol config
command/agent: fix docs
command: add protocol to version command
command: add "-detailed" to `serf members` to see the protocol versions
website: document the protocol versions
website: document -detailed flag
serf: Add ProtocolVersion method
serf: default protocol is max
serf: static map for protocl version mapping
Merge pull request #46 from hashicorp/f-protocol-versions

Protocol Versions + Upgrade Docs

* Updates Serf core to handle protocol versioning (delegate version) and to mask the memberlist protocol version with the delegate version.

* Introduces a `-protocol` flag to `serf agent`. By default (if not specified), this will be the latest version. You can specify the protocol number to speak that version. It will properly error if you give a number out of range. 

* Introduces a `-detailed` flag to `serf members` to show protocol information for each member. This isn't machine readable anymore but I think we'll add a `-machine-readable` flag in the future to do this.

* Docs for all of this.