[SPARK-1112, 2156] use min akka frame size to decide how to send task results

Task results are sent either via akka directly or block manager indirectly, based on whether the size of the serialized task is smaller than spark.akka.frameSize. However, the result is actually sent back to the driver via the backend actor, which is initialized before receiving the SparkConf and hence it doesn't know the spark.akka.frameSize. That is the root cause of SPARK-1112.

A quick fix is using the min frame size to decide which route to go.

This PR also fixes SPARK-2156.
Re: your last question, I have no idea...you definitely know more about this than I do at this point.  Using the higher, 200K value seems like a safe alternative to what's currently there.  It would be great to add this constant in AkkaUtils so we don't need to manually track this down if it changes again in the future.