[SPARK-1550] [PySpark] Allow SparkContext creation after failed attempts

This addresses a PySpark issue where a failed attempt to construct SparkContext would prevent any future SparkContext creation.
Because we keep a reference to this object in `SparkContext._active_spark_context`, this method never gets called except when cleaning up after a `SparkContext` creation attempt that failed because another context was already running.  In that case, the call to `sc.stop()` clears `SparkContext._active_spark_context` and we lose track of the active context, which can allow the creation of multiple running contexts.