Torrents controller uses event-filter to display current num of seeders/leechers.
(Torrent model adds some stats fields; currently they are not persisted.)
View receives seeding/leeching stats from model.
On /announce, update statistics and send them to the frontend for caching
Merge branch 'feature/list-seeds' into develop
Doc bump.
Have announce keep frontend caches fresh on seeders/leechers.

* Removes peer that sends `event=>stopped`
* Adds / updates all other peers
* Packages statistics and sends over event bridge to listening caches.
Load (TCP) peers from config file.
Encode and decode by value instead of pointer.
Register messages with encoder on startup.

(Tracker asserts that it received a value-payload.)
Continued work on event bridge.
Merge branch 'feature/bridge-tcp' into develop
Don't panic if event peer can't be reached.
Bridge does not defer closing a connection that couldn't be opened.
Merge branch 'feature/bridge-handle-dc' into develop
Merge branch 'develop'

Merges a lot of improvements to the event bridge & associated context.
tl;dr: TCP bridges are working and configurable from JSON.

* Dialing a peer that doesn't answer no longer results in panic.
* (We still assume that all peers listed in the config should _always_ be available.
   This doesn't jive with the idea of spinning up babou's on demand.
    Future work will focus on discovery, auth & failure mechanisms.)
* Event context reads `TorrentStatsMessage` and uses it to update
  the counts of peers seeding & leeching.