Calculate proper maximum frequency for outgoing signals.

This is a breaking change as it alters the functionality of the
sendFrequency attribute on a CanSignal. Instead of controlling the
fraction of messages to drop, it controls the maximum frequency to send
the signal (in Hz).
Update docs and bump to v5.0-dev because of API change.
Move internal fields lower in CanSignal struct so they can be defaulted.

While we're already changing this API, I'd like to take care of this as
well - nobody should be defining values for the received, lastValue or
lastSendTime field, so those should be after any user-controllable
fields (like writeable and states).