Apply decoders to scanned files to extract conversations

Right now only the abstract mechanism is implemented (no actual decoders
and no actual access to the file data).
Refactoring: Got rid of 'auto'

It may be nifty, but it interferes with autocompletion and other analyses.
Refactoring: Replaced QScopedPointer with the more powerful std::unique_ptr
Refactoring: Replaced QList with std::vector

This allows for C++11 move semantics to be used, this being the first step
towards returning lists of unique_ptr's.
Refactoring: Use unique_ptr in lists and cleanup unique_ptr declarations

This is the final step in making the code elegantly exception-safe. Now
that all objects are stored in either unique_ptr's or containers of
unique_ptr's, an exception can occur at any time and objects will still be
properly destructed. Accidental memory leaks are also much more difficult
to cause.
Minor refactoring: Replaced Qt foreach with C++11 foreach
Minor refactoring: Moved * and & close to pointer type instead of varname
Added stub decoder for Pidgin text format conversation files
Added more design notes and observations
Added Pidgin text format research