Now that we have the room setting to enable encryption, the /encrypt command is
not only redundant, but confusing, since it's in conflict with the room
setting.
Plus a number of other tidyups:
* Fix /join to dispatch a view_room for the room alias
with the additional auto_join parameter
* Make RoomView automatically join the room if the auto_join
parameter is true and the user isn't already in it
* Tidy up RoomView's peeking code, also fixing
https://github.com/vector-im/vector-web/issues/1220
in react-sdk (although it still requires a synapse change
to actually fix, but react-sdk does 'the right thing').
* Remove duplication of usage text from /join command
* Amalgamate MatrixChat::_viewRoom's many, many parameters
into an object and sort out case consistency a little.
getFillText() serves to decouple the text displayed in the auto-complete list
via getText() and the text actually filled into the box via getFillText(). This
allows us to display command + args on the list but only fill the command part.
A Command class has been added to provide some structure when extracting the
command name and args. Manually tested and it works.