Refactor daemon thread creation

Spark has multiple methods for creating daemon thread pools and thread factories, but we can eliminate most of this code using Guava's [ThreadFactoryBuilder](http://docs.guava-libraries.googlecode.com/git-history/release/javadoc/com/google/common/util/concurrent/ThreadFactoryBuilder.html).

It looks like 2d761e3353651049f6707c74bb5ffdd6e86f6f35 might have broken DaemonThreadFactory so that it no longer creates daemon threads.  I wound up removing this class, since it was unnecessary.

Utils had its own `newDaemonThreadFactory` method, which I also removed.