git rid of heartbeater goroutine
...by moving the logic into the connection actor goroutine.

The heartbeater goroutine was doing a lot more than just heartbeating;
namely it also had tickers for triggering a ProtocolFetchAll and
initiating a fragmentation test. Furhermore, ensureHeartbeats also
spawned the forwarders.

So this was quite a mix of functionality, and, furthermore, most of it
related quite closely to the connection actor. So moving the
functionality into that simplifies the code.

In the process we also fix #294.
Merge branch 'master' into eliminate_heartbeater

Conflicts:
	router/connection.go
refactor: introduce small helper
simplify
simplify some more
Merge pull request #295 from rade/eliminate_heartbeater

LGTM.  Fixes #294
Basic gossip-handling implementation
Implement topology updates via gossip