This adds a dependcy on libunwind for generating the back trace.
* src/CMakeLists.txt: Require libunwind-generic package and libunwind
VAPI. Update docs and debian/control with new dependencies.
* src/engine/api/geary-problem-report.vala (ProblemReport): Generate a
stack trace in the default constructor if an error is specified.
* src/client/components/main-window-info-bar.vala
(MainWindowInfoBar::format_details): Include stack trafe from problem
report in output if present.
* ui/main-window-info-bar.ui: Add a ScrolledWindow around the TextView
since the details could now be quite large.
* bindings/vapi/libunwind.vapi: Add bindings for libunwind courtesy
Guillaume Poirier-Morency, add Error enum.
* src/engine/api/geary-problem-report.vala: New problem enum,
ProblemReport class and AccountProblemReport and ServiceProblemReport
subclasses that encapsulate error, account and service information when
reporting problems.
* src/engine/api/geary-account.vala (Account): Remove old Problem enum,
make report_problem signal and related notify methods accept a
ProblemReport instance instead. Reorganise protected methods a bit and
update subclasses and signal handlers.
* src/client/components/main-window-info-bar.vala (MainWindowInfoBar):
Substantially rework to handle ProblemReport instances via
for_problem() constructor.
* src/engine/imap-db/outbox/smtp-outbox-folder.vala (SmtpOutboxFolder):
Substantially rework error handling yet again to get some better
ProblemReport instances being generated.