Additional sanity checks and renormalization in NR waveform generation.
There's quite a long discussion about this in #144 (closed). In short it seems common to have NR waveforms with small imprecisions (in this case two vectors that should be orthogonal are only "close-to-orthogonal"). To try to resolve this I've added some tests to the code so that it will fail outright, and clearly, if these vectors are not really-close-to-orthogonal. If they are really-close-to-orthogonal I've added some renormalizations to avoid the possibility of the code failing for specific input values.
Assigned to @sebastian-khan as he is familiar with the history here.