[SPARK-4861][SQL] Refactory command in spark sql

Remove ```Command``` and use ```RunnableCommand``` instead.

But for set command,  catalyst first parse it as logical.SetCommand, when to make it as execution.SetCommand(RunnableCommand)?