SPARK-821: Don't cache results run locally

Caching local results (e.g., rdd.first()) causes the driver to store entire partitions
in its own memory, which may be highly constrained. This patch simply makes the CacheManager
avoid caching the result of all locally-run computations.