Created pv::widgets::SampleTimingWidget, and ported the SamplingBar to use it.

This widget allows the user to edit a sample timing value either from
a list of options, or as an value with a min/max/step, or as read
only, or hidden.
Use a SweepTimingWidget for sample count limit.
Show sample count selector only if setting supported.
No longer need to set sample limit on session start.
Wait until SDI is set before updating sweep timing widgets.
Commit sample count after setting default.
Only attempt to set default sample count if supported.
Use SR_CONF_DEVICE_OPTIONS to decide if LIMIT_SAMPLES is supported.
Set LIMIT_FRAMES to 1 if supported.
SweepTimingWidget removed Read Only support
SweepTimingWidget implemented show_125_list
SweepTimingWidgets: Fix list mode to show the correct suffix
SamplingBar: Show a 1-2-5 for min-max sample rate values
Show a 1-2-5 list for the sample count widget
Ported to new SR_CONF_LIMIT_SAMPLES config key
test/CMakeLists.txt: Fix build on Windows/MinGW.

On Windows/MinGW we need to use Boost's 'thread_win32' instead of
'thread' (was already done in the main CMakeLists.txt, but not yet
in test/CMakeLists.txt).
Fixed AnalogSnapshotTest

This fixes bug #286
Add an extra sample to the logic edges so that the end sample is visible
pv::prop::Enum: Do not create a widget if the initial value could not be retrieved
Set default build type to RelWithDebInfo