Add void return type to cdef of FFTW.execute() to avoid needless Python type checking.
Allow passing compiler directives to Cython using setup.py cythoning.
Big change to re-formulate point model so that it embodies a "full" convolution,
accounting for target reflections from below the range corresponding to the start of the
received signal (i.e. reflections for which only some ending part of the code is
observed within the receive window).

To make this change easier to work with, the model functions now have attributes which
give the parameters of the model, define input and output shapes and dtypes, and provide
indices for the delay and frequency axes. As part of this, we now have docstrings for
the models!