[SPARK-2219][SQL] Added support for the "add jar" command

Adds logical and physical command classes for the "add jar" command.

Note that this PR conflicts with and should be merged after #2215.
I saw `SetCommand` takes the `context` as the parameter, as well as the other `Command`s in the file `commands.scala`, like:
```
case class SetCommand(
    key: Option[String], value: Option[String], output: Seq[Attribute])(
    @transient context: SQLContext)
```
Should we follow the same pattern? The default `sqlContext` will take value from a ThreadLocal variable, which probably a little different.