This release contains several major changes to how TreeTime calculates time scaled phylogenies.
Most of this is work by anna-parker!
* implements convolutions needed for marginal time tree inference using FFT.
Previously, these were calculated by explicit integration using optimized irregular grids.
Using FFT requires regular (and hence much finer/larger) grids, but greatly reduces computational complexity from `n^2` to `n log(n)`, where `n` is the number of grid points.
The FFT feature can be switched on an off with the `use_fft` attribute of the ClockTree class.
* Using FFT in convolutions required moving the contributions of the coalescent models from th branches to the nodes.
This should not change the results in any way, but cleans up the code.
* The number concurrent of lineages determines the rate of coalescence.
This can now optionally be calculated using the uncertainty of the timing of merger events, instead of the step functions used previously.
* Adds a subcommand to read in ancestral reassortment graphs of two segments produced by [TreeKnit](https://github.com/PierreBarrat/TreeKnit.jl). This command takes two trees and a file with MCCs inferred by TreeKnit. See [these docs](https://treetime.readthedocs.io/en/latest/commands.html#arg) for command line usage.