Add sorting of the torrents based on the column and fixed the header issue

Sorting now works using the built in mechanisms provided by pyQt. There still
needs to be a better way of determining which field belongs to which column
for both the data lookup and the sorting. Right now it's a bit messy for my taste.

The headers now work as expected... Dam roles keep messing up my code :P All in
all a good lesson for the future, don't simply ignore the extra params in the
methods you override. Bad things can happen.