Removed cotire

cotire has proven itself to be counter-productive. It rebuilds the pre-compiled
header after any header in pulseview is modified causes a complete rebuild of
all of PulseView. Also, the pre-compiled header contains a union of all the
includes of all source files, which masks errors where source files are missing
needed includes.
.gitignore: Added .ninja_deps
Session: Renamed files to match class name
Ruler: Moved calculate_tick_spacing into View
View: Make horizontal arrow-key scrolling useful

Currently, the horizontal scroll bar scrolls by a very small amount
of time when the arrow keys on the keyboard are used. This is because
View::horizontalScrollBar's single step size is never set.

In order to make the arrow keys become useful, this patch sets this
step size equal to the major tick width of the ruler. This results
in scrolling by a fair amount of time without losing track of the
context and also preserving the positions of the major ticks on
the ruler when scrolling.
test: Add a dummy unit test to fix 'make test'.

This should be dropped again when the real unit tests
are working again.
connect: Fix filtering of supported devices.

Now that driver options are split from device options, it is not
possible to check the SAMPLERATE option on a driver as it is a device
only option. The SAMPLERATE test still works on some drivers that
didn't have their options split yet, but this won't hold true for long.
The proper way is to check the driver class, which is the only option
you can expect at the driver level for now.
CMakeLists.txt: mingw: Simplify by using Boost_THREADAPI.
Signal: Save and load signal names as UTF-8 strings.

This fixes bug #498.
Enhance DeviceManager by full device names
SamplingBar: Fix #489 by making use of full device names