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

A leak of event loops may be causing test failures.
OK, but this still seems like a bug, as it would leak SparkContexts in practice. It does not seem like a useful semantic to be able to call stop() then start() on anything, if and only if you didn't previously call start().