Abstract the modulation into its own class, this simplifies the code of
the CallDistanceTransceiver class.
While at it also start using the difference between a "period" and
a "pulse" in SymbolTime, some more documentation about what they mean
will be added in some future commit.