synchronous, low fanout fix

When parameters indicated a synchronous design with low fanout requirements,
required delays were not added to all data paths. This caused data paths
to be misaligned relative to others and data corruption.

Change in default values.

fan_latency could be calculated as a fraction depending on input parameters.
Fixed by adding ceil.
fan_latency miscalculation

fan_latency could be calculated to a fractional value depending on
parameter values. Fixed by moving ceil in calculation
pipeline latency manipulation

For short FFTs with large latencies, coefficient generation in the direct FFT
might cause a calculation pipeline longer than the number of
coefficients to be generated. Coefficients should not be generated in this
case. However, if this is detected, latencies are decreased to hopefully
accomodate.
pass parameters by value in fft_direct

Values were passed by reference using a variable name, by value is more
explicit and ensures init scripts will execute as expected without
having to do an update.
Merge branch 'master' of github.com:ska-sa/mlib_devel