MainServer: send an ERROR response back for malformed commands

The protocol server was not sending any response back for any bad commands
received such as commands with an invalid number of parameters. This caused
any client to wait for a reply which would never come. The FE for example
would lock up for 30 seconds waiting for a reply if SendReceiveStringList()
was called from the UI thread.