Dev/ewma 20141017

Note min/max/nonlinear options used only in the following expressions

+        smoothing = 1.0 - pow(norm_noise, s.kSmoothingScaleCurve/20.0);
+        RC = 3.0*(s.kMinSmoothing + smoothing*(s.kMaxSmoothing - s.kMinSmoothing))/100.0;

They aren't something rigorously kosher to use with EWMA.

As per above, seem to found a way to both reduce the user-facing options -and- make it passthrough less noise -and- react faster to actual signal.

Some other crap-o-la in other commits that can be cherried regardless.

@dbaarda please comment on the sanity of this endeavor.

-sh
Maybe a better way to calculate this is and drop the need for a curve/nonlinearity setting is;

  // Get the normalised stddevs between 0->1 for 0->3 stddevs.
  norm_stddevs = std::min<double>(sqrt(new_noise/noise[i])/3.0, 1.0)
  smoothing = 1.0 - norm_stddevs
  RC = 3.0*(s.kMinSmoothing + smoothing*(s.kMaxSmoothing - s.kMinSmoothing))/100.0;
  alpha = alpha = 0.003/(0.003 + RC);