Fix for #366

I believe this should be allow for a Spark.connect() call to only block for one connection attempt.  Should fix #366, and #357.  Might also need to add a `|| System.mode() == SEMI_AUTOMATIC`, but that maybe should be a debate about how "automatic" semi automatic should be.