Corrected the fast_atan2f function. Recalculated the table and corrected some errors in the code.
Error before correction: <0.111 degrees.
Error after correction: <8.20E-5 degrees
Some QA tests failed after correcting fast_atan2f function. The tests were also fixed.
modified the qa tests to the correct values.
cleaned the code
Checking for NaN takes too much time. With some incompatibility to cmath atan2 for some NaN/Inf combinations the performance is better now.
This change should not have any impact in SDR related things. It is only for checking NaN/Inf values.
Merge remote-tracking branch 'st0ne/maint' into maint
runtime: math: in fast_atan2f, moved nested if that checks for divide by zero out into its own check.

This change mostly affects ARM processors. They seem to not do well with nest branches whereas x86 do fine. Breaking out this nested if makes no computational difference on x86 but makes a ~5-6% improvement for the ARMv7 tests.

Also updates the docs to reflect the new mean error from the function.
runtime: math: reset a QA test for the fast_atan2f for mixed nan/inf input.

This is the original check (isnan) before the change in table and so the behavior for this input should be the same.
qtgui: compare current time domain x-axis unit with new unit to ensure time scale update.
digital: fixes issues with the constellation soft decoder, specifically how the decisions are calculated in the C++ code and some issues with the QAM16 constellation in particular.

This addresses issue #737. The patch attached to that issue is not actually valid and is only an ordering problem/confusion. I will be adding an example GRC flowgraph that compares the output of the hard decision and soft decision versions to the original input stream to show how they match.

Increased testing coverage in the QA to test certain known points as well as random samples.
digtial: adding example to explore the constellation decoder and soft decoder for different constellations.
filter: fixed default filter for rational_resampler.

Addresses issue #745. When rate < 1 (downsampling), take into account the amount of downsampling (decimation) and adjust the LPF's passband to reduce aliasing.
filter: adds documentation to using the rational resamplers.

If user provided taps, don't adjust values by the GCD since that will mean the provided filter is not valid. Only apply when the resampler designs its own filter.
logger: fixed a problem with the Python loggers not respecting the log_file and debug_file settings in the logger preferences file.