SPARK-1189: Add Security to Spark - Akka, Http, ConnectionManager, UI use servlets

resubmit pull request.  was https://github.com/apache/incubator-spark/pull/332.
@tgravescs 

Is this prone to race conditions if both connection managers simultaneously try to initiate connections with each other?  Here's the scenario I'm worried about:

- `ConnectionManager`s Alice and Bob, both newly-created, simultaneously attempt to send messages to each other.
- Alice adds Bob to `connectionsAwaitingSasl` and sends a message to Bob to begin negotiating the connection.
- Bob's first message to Alice, negotiating his sending connection, arrives at Alice before Bob receives and responds to Alice's request.
- When Bob receives Alice's first message, he incorrectly assumes that it's a response to his send and chooses to handle it with `handleClientAuthentication`, even though he should have handled it with `handleServerAuthentication`.  

Can this problematic scenario occur?  If so, it would be safer to add a field to the SecurityMessage to indicate whether it's from a SASL client or server.