Fix PR926 local properties issues in Spark Streaming like scenarios

[PR926](https://github.com/mesos/spark/pull/926) changes local properties from `DynamicVariable` to `ThreadLocal`,   which cannot pass properties set in parent thread to child thread. Scenarios like Spark Streaming which separate `runJob()` function in child thread will always get `null` properties and pass to DAGScheduler. So thread local properties should be inheritable, also should be isolated in different threads.