Any command sent with send_command could be invalid. It makes sense for
that method to throw an exception if the command isn't recognized so I
don't have to duplicate that effort in the methods for all commands
introduced after firmware version 1.0. This commit moves the command
validity checking to Sink.send_command.