Re-implement long poll controllers as "polling controller".
Re-implement long poll controllers as "polling controller".

Part 2 of the experiment to unify long-poll and subscribing controllers.

A polling controller uses the same machinery to be told about player
timeline updates. However, a polling controller uses a channel to route
the update back to the long-poll request where it's returned as the
response body.

The controller's command ID is currently getting lost, but that should
be easier to track soon.

Also shuffled things around to process an update from a player
separately to notifying controllers. It makes the locks simpler.

emgee/plexible