dlg_comports: Add GUI elements for Hamlib

They do not perform any function at this stage.
Add beginning of hamlib

Builds, if the user has hamlib installed:

$ sudo apt-get install libhamlib-dev

Not yet used by freedv.
dlg_comports: Add some default values to the dropdowns
Hook up basic Hamlib functionality

We now populate the dropdown with all of the devices that hamlib
supports.
Begin hooking up settings

They are now saved when exiting and restored when opening the dialog.
They are not persisted to disk yet; have not looked at what is missing
there yet.
hamlib settings are now persisted to disk
Working PTT support

Untested on a real rig, this appears to do the correct thing
with the dummy device.

Changed over saving of the rig to be based on the position in the
hamlib list. This makes the setting quite fragile; if hamlib gains
or loses support for more rigs then the setting will give a bogus rig.
This shouldn't be a big concern.
Add hamlib to cmake build

Also fixes hardcoded svn rev, as it is wrong. Also orders text
files in ABC order.
Remove broken assert and unused check

Both cause warnings when building
Add option to disable libctb use

Add DISABLE_CTB=y to Makefile.linux to build without ctb.

The ctb related UI will still be present, but will not function.
Misc small fixes to Makefile.linux

 - Define ctb and sox so that build rule does not create a warning when
    building against system libraries

 - Build with -O2

 - Define c rule so that .c files are built with c compiler. clang++
   complains if using it to build .c files
hamlib: hook up serial port

We were not using the user-configured serial port value. This hooks
up the UI to hamlib.
hamlib: hook up serial port properly

The previous method felt hacky. This method is similar to that used
by fldigi.

The serial port setting is not used. I suspect that the default baud
rate specified by the rig will be a better option. Ideally, selecting
a rig will get the default settings from the hamlib configuration for
that rig, and populate the UI, allowing the user to adjust specifics.
hamlib: Remove advanced configuration

Many of the options are defined by the rig definition in hamlib.  With
the exception of serial port, which varies depending on where it's
plugged in, many options won't be changed.

This simplifies the UI, as we do not need to decide what to show in the
boxes, and when to override saved settings vs rig defaults.

The settings can be added back one by one should they prove useful.

The UI now looks wrong with too much whitespace. That will be resolved
in a future commit.
Remove libctb and init hamlib on startup

This removes the now legacy libctb rig control in preference for hamlib.
hamlib: attempt at download-and-build

hamlib uses dynamically loaded backends, I think we need to list all
of them on the link line to get this to work.

This also adds the hamlib files to the windows makefile.