EventEmitter: Improve test coverage for disconnect()

Bug 57037 requests disconnect() to support passing a host object
with event handlers that aren't actually connected yet (e.g.
silently ignore if disconnect() was called without a relevant
connect() occurring first, a no-op feature).

Add tests to reflect that this actually works already.

Also:
* Refactored tests slightly. The inline assertions were a bit
  hacky and didn't scale well with the i === 2 || i === 3 stuff
  and foo's i++ affecting bar's i++.

  Split them up in separate hit counters and assert those outside
  the event handler.

Change-Id: Ibe1d4747c05f4ed00463cc056debb1d9f2a0e5e3