Shell tokeniser, nightly updates, etc.

The main thing this PRQ does is changes listmaster to use the [baps3-protocol.rs] library, which supports the new shell-style [BAPS3 internal protocol].

In addition, as this has been the only active dev branch for a while, it's rolled up some changes made necessary or desirable by Rust nightly updates.

[baps3-protocol.rs]: https://github.com/UniversityRadioYork/baps3-protocol.rs
[BAPS3 internal protocol]: https://universityradioyork.github.io/baps3-spec/comms/internal/protocol.html