Link connect/disconnect only through LinkManager

Centralize all connecting and disconnecting of links through
LinkManager::[Connect|Disconnect]Link api. Connect/Disconnect no longer
allowed through LinkInterface. This allows creation of new
LinkManager::setConnections[Suspended|Allowed] methods to disallow
connections as needed.
Use new LinkManager::[connect|disconnect]Link api
Rename SettingsDialog->SerialSettingsDialog

This avoids collision with main app SettingsDialog class
New LinkManager::[connect|disconnect]Link usage
Use new parameter save location
Added saved file location, Flight Data logging

Also renamed from QGCSettingsWidget to SettingsDialog to better reflect
usage.
QObject::destroyed signal fix

Make sure to no de-reference already deleted object
Saved files location support

- Also renamed QGCCore->QGCApplication to better reflect usage.
- New global qgcApp api to access main QHCApplication singleton
Update for QGCCore->QGCApplication name change
New mavlink logging support

- Logging now always on to temp file
- User prompted to save temp file after disconnect
- Orphaned temp logs checked for on boot
- Logs saved to new save file location
- Log file starts/stops with first and last connnection
Fix UAS unit test

Destroyed signal must have been working incorrectly in the past.
Remove old connect/disconnect API
Fix flaky cross-platform variadic connect
Use SLOT not SIGNAL
Use new QGCFileDialog api

Using QFileDialog directly on OS X can hang intermittently due to Qt
bug.
New QGCFileDialog apis

Using QFileDialog directly on OS X can hang intermittently due to Qt
bug. QGCFileDialog works around this by not using the native dialogs.
More cross platform variadic issues

Plus change to use QGCFileDialog
Fixes for new _connect/_disconnect apis
Can't use interface as variable on Windows
Merge pull request #991 from DonLakeFlyer/LoggingRC2

New mavlink logging support