Implement generic torrent data structures

Use fields similar to, but exactly like, the ones return by deluge's API, although the name fields are standardized across the torrent lists and details now. This required modifications to the torrent client classes and the front end as well.
Also drops the "leechers" field in favor of "seeds".

Squashed commit of the following:

commit 6f5f706213c1b266e79d289f42e767b4326bb881
Author: Kannibal Ox <kannibalox@gmail.com>
Date:   Mon Sep 22 17:53:26 2014 +0100

    Update deluge to use new field names

commit 682806005a482826028039fd46af3af7b792c590
Author: Kannibal Ox <kannibalox@gmail.com>
Date:   Mon Sep 22 16:45:35 2014 +0100

    Remove superfluous dictionary in favor of straight array

commit cc73b768f5aab5f969dad6c0402cdefbc1081ae2
Author: Kannibal Ox <kannibalox@gmail.com>
Date:   Mon Sep 22 15:58:40 2014 +0100

    Name changes

commit 15abe17d5e5c11a8230b287cda536ea267e5b7e3
Author: Kannibal Ox <kannibalox@gmail.com>
Date:   Fri Sep 19 19:11:54 2014 +0100

    Start adapting rtorrent to new structures

commit de8773ef6a93db914dec1de56fa2e5c29d250a71
Author: Kannibal Ox <kannibalox@gmail.com>
Date:   Fri Sep 19 19:11:30 2014 +0100

    Add the rest of the structures

commit 974e04ae54819a622419b0132ab96eb0a9b4b44a
Author: Kannibal Ox <kannibalox@gmail.com>
Date:   Fri Sep 19 17:01:22 2014 +0100

    Add base client struct class, and peer struct