Kill hierarchy (for now)

* It wasn't helping, and I was (probably stupidly) putting things in
  library-level modules like `Data`.
Setup UDP connection *and* tracker state from torrent file

* This is probably as it should be; a torrent file by definition should
  have all of the data necessary to announce to the tracker.
Tracks port in state structure