Provide ZeppelinContext

Currently Zeppelin created spark interpreter automatically inject some variables like

sc (sparkContext), sqlc (sqlContext), dep (dependencyResolver), form (input form creation), intp (interpreter) ...

But this PR will inject variable 'z' (zeppelin Context) which provide easy access to all functions / spark related context we need.

*before* -> *after*

sc -> z.sc (sc still available)
sqlc.sql("select ...") -> z.sql("select ..") (sqlc still available)
form.input("search", "default search") -> z.input("search", "default search")
dep.load("groupId:artifactID:version") -> z.load("groupId:artifactId:version")

This change also includes ability to dependency loader loads jar from local FS.
Now, both below are valid
```
z.load("/path/to/your.jar") 
z.load("groupId:artifactId:version") 
```

Full list of ZeppelnContext provided functions are

z.sc - reference to SparkContext
z.sql(String sqlStatement) - run sql
z.input(String name) - create input form with empty string as a default value
z.input(String name, Object defualtValue) - create input form 'name' with provided defaultValue
z.load(String groupIdArtifactIdVersionOrLocalJarFilePath) - load artifact from maven repository or local filesystem
z.loadR(String groupIdArtifactIdVersion) - load artifact with it's dependency from maven repository