Remove output modules from about dialog.

PulseView doesn't support output modules at all.
Fix bug #392 by improving empty list/map handling
Fix comment and increase readability in probes.cpp
Check for device instances before blindly trying to release them.
View: Implement pinch-zoom

The special handling of a moveMoveEvent without a preceeding
mousePressEvent is a workaround for an issue where you won't get
an emulated mousePressEvent for the primary touch after a multitouch
gesture where you release the primary touch before the secondary touch.
CMakeLists.txt: For Android, make a library out of the native code
Setup environment for SRD on Android
Install logging callbacks for Android
Added files for building Android APK
Android: Use environment setup from library instead
view: Minor whitespace fixes.
android/: Whitespace and consistency fixes.

Use one tab as indentation for all XML and Java files.
android/: Add some missing license headers.
Fix two errors with clang 3.6.

[...]/pv/view/viewport.cpp:202:6: error: using integer absolute value
function 'abs' when argument is of floating point
type [-Werror,-Wabsolute-value]
        if (abs(w) >= 1.0) {
            ^
[...]/pv/view/viewport.cpp:202:6: note: use function 'std::abs' instead
        if (abs(w) >= 1.0) {
            ^~~
            std::abs

[...]/pv/widgets/sweeptimingwidget.cpp:172:33: error: absolute value
function 'abs' given an argument of type 'long' but has parameter of
type 'int' which may cause truncation of value [-Werror,-Wabsolute-value]
                const int64_t this_variance = abs(
                                              ^
[...]/pv/widgets/sweeptimingwidget.cpp:172:33: note: use function
'std::abs' instead
                const int64_t this_variance = abs(
                                              ^~~
                                              std::abs
Fix bug 298 by enhancing signal and trace popup behavior
Populate signal popup combo box with signal name instead of probe name
Make trace popup combobox behave more user-friendly
Snapshot classes: Use vector instead of raw pointer

As a side-effect this turns a segfault (see bug #397) into a segfault
with a more usable message:

  terminate called after throwing an instance of 'std::bad_alloc'
    what():  std::bad_alloc
  Aborted (core dumped)
Only use one central .gitignore file.
Don't use Qt-defined keywords, they can cause problems with other headers.