[SPARK-4242] [Core] Add SASL to external shuffle service

Does three things: (1) Adds SASL to ExternalShuffleClient, (2) puts SecurityManager in BlockManager's constructor, and (3) adds unit test.
@pwendell I don't know if this is kosher - it helps us compile in a YARN-compatible way, and Guava _usually_ just adds and deprecates APIs.