Use QThreadPool for threading
Use separate thread pool for file saving

With a thread count of 1, to avoid race conditions in File._save_and_rename.
Merge branch 'master' into new-threadpool

Conflicts:
	picard/ui/mainwindow.py
Merge pull request #146 from mwiencek/new-threadpool

Use QThreadPool for threading
_stderr_receiver(): improve reporting of UnicodeDecodeError
_message(): do not convert unicode strings

Receivers have to take care of conversion instead, if needed.
Move log and logview code to classes, to ease re-use.
show_log(): minor tidy up
Add a logger for status history
Add a window for status history display.

Launch from Help menu for now
Add a function to format a log line in human-readable form
Use log.formatted_log_line() in LogViewCommon
Use formatted_log_line() in _stderr_receiver()
Do not display level prefix for history (always LOG_INFO)
Remove a superfluous import of picard.util.queue

It has been removed, so this import made picard unstartable on clean
checkout (old ones most likely has a .pyc file of the queue module lying
around).
formatted_log_line(): drop useless append parameter
Merge pull request #147 from zas/statushistory

Store and display status messages in a window similar to the Log window
Correctly catch IOError

except OSError, IOError does not catch IOError but will overwrite IOError with
catched exception. See [1] for detauls.

[1] http://docs.python.org/2/whatsnew/2.6.html#pep-3110-exception-handling-changes

Signed-off-by: Sebastian Ramacher <sramacher@debian.org>
Merge pull request #150 from sebastinas/except-shadows-builtin

Correctly catch IOError
PEP8 conformance fixes.