dynamic file changes and remove refreshAll

Introduce chokidar library to replace file listing and also introduce
dynamic file change events from host.

Big refactor of join code to factor out the refreshAll event in favour
of discrete events for update of various parts of room state.

refactor user list for chat to push an object indicating self ownership
of the user