[SPARK-4183] Close transport-related resources between SparkContexts

A leak of event loops may be causing test failures.
The intention here was that if a streamingContext has not been started, then calling stop on it should be a noop. This change changes the start-stop semantics of the streamingContext, and is a breaking change for downstream systems.  This is a bad idea.