Protect router mux pointer access with a mutex

Pointer updates aren't guaranteed to be atomic on all platforms (e.g.
Arm).  Protect accesses to the router's mux pointer with a mutex.
Rename mutex variable name.

Avoid confusion around similarity with the mux variable
Merge pull request #67 from alphagov/router_mux_atomicity

Protect router mux pointer access with a mutex