Bring over the basic spectral scan framework code from Qualcomm Atheros.

This includes the HAL routines to setup, enable/activate/disable spectral
scan and configure the relevant registers.

This still requires driver interaction to enable spectral scan reporting.
Specifically:

* call ah_spectralConfigure() to configure and enable spectral scan;
* .. there's currently no way to disable spectral scan... that will have
  to follow.
* call ah_spectralStart() to force start a spectral report;
* call ah_spectralStop() to force stop an active spectral report.

The spectral scan results appear as PHY errors (type 0x5 on the AR9280,
same as radar) but with the spectral scan bit set (0x10 in the last byte
of the frame) identifying it as a spectral report rather than a radar
FFT report.

Caveats:

* It's likely quite difficult to run spectral _and_ radar at the same
  time.  Enabling spectral scan disables the radar thresholds but
  leaves radar enabled.  Thus, the driver (for now) needs to ensure
  that only one or the other is enabled.

* .. it needs testing on HT40 mode.

Tested:

* AR9280 in STA mode, HT/20 only

TODO:

* Test on AR9285, AR9287;
* Test in both HT20 and HT40 modes;
* .. all the driver glue.

Obtained from:	Qualcomm Atheros
Add missing update to link ar5416_spectral.c into the build.
Add a method to explicitly disable radar reporting if required.
Add spectral HAL accessor methods.
Fix the short repeat option code to not flip the option to 0 when
we call this w/ NOVAL set.
Add a new (skeleton) spectral mode manager module.
Link if_ath_spectral.c into the build.
Add a very skeletal spectral scan control application.

The main use for this is to manually trigger spectral scan operations
(athspectral -i athX start) whilst doing debugging.
Add missing dependancy.

Submitted by:	Michael Butler
MFC after:	1 week
Make sade actually be a symlink to partedit, as per the commit message in
r244859, rather than a hardlink. This fixes installation if /usr/sbin
is on a different filesystem than /usr/libexec.

Submitted by:	se
Fix incorrect format string.
Fix some printf() formats.

Found by:	clang
* Add missing format specifier for err()
* add missing exit(0)
* Fix some operator evaluation complaints.

Thanks to: clang
* Add missing err() string formats;
* Fix up a printf() type mismatch.

Thanks to: clang
Add missing err() format strings.

Thanks to: clang
Fix up some warnings from clang.

This still triggers a bug in clang..
Fix some clang warnings!
Fix some conversions to keep clang happy.
Fix missing err() format string.
Add missing err() format string.