Remove timestamp from state dict and clarify extension detection

The timestamp in the state dictionary is not necessary since clients can rank
state by comparing the counts.

Clarify the rules for how the client handles peers who do not implement the
entire set of protocol extensions.