Fully implemented multi-file torrents

Added getters for the names and file dictionaries
Refactored the torrent constructors so that we can automatically detect subclass

Now there is a static factory method which determines the correct subclass
and returns the correct type based on context. Such an improvement, no?