Remove unneccessary includes of libtorrent in misc.h
Remove inclusion of <QThread> from misc.h
Make alertdispatcher.h self contained and replace include libtorrent/session with forward declaration
Remove inclusion of alertdispatch.h from qbtsession.h
Replace include of <libtorrent/session.hpp> with forward declaration
Remove inclusion of "qtracker.h" in "qbtsession.h"
Speedup compilation speed

libtorrent has a relatively heavy headers, that take lots of time to
process. This commit removes unnecessary includes of libtorrent headers
and replaces them with forward declarations.

I had to move some functions in QBtSession from slots to regular
functions because moc'ed file want to see complete types of all
parameters of slots.

"time make" of full rebuild before this series of commits:

real    13m35.937s
user    12m1.295s
sys     1m25.908s

after:

real    10m54.390s
user    9m31.167s
sys     1m12.580s
Merge pull request #2042 from sorokin/optimize-includes

Optimize includes
Use the correct character encoding for exceptions coming from libtorrent.
Optimize misc::naturalSort()

Previous implementation used QRegExp to find a first digit. That is
utterly ineffective.

When torrent list is sorted by name (a column that uses the naturalSort() for
comparison), naturalSort could take 18.6% of the time of the UI thread. Optimize it
so now it takes 1% of the time of the UI thread.
Merge pull request #2041 from sorokin/optimize-natural-sort

Optimize misc::naturalSort()
Don't show multiple unlock UI dialogs. Closes #2040.
Remove superfluous semicolon(;).
Fix libtorrent types forward declaration errors/warnings.
Use boost:bind() as the docs show. Allows compilation with older gcc versions.
Merge pull request #2060 from glassez/fwd_decl_fixes

Fix libtorrent types forward declaration errors/warnings.