[STREAMING] SPARK-1730. Make receiver store data reliably to avoid data-loss on exec...

...utor failures.

Added a new method in Receiver, ReceiverSupervisor, ReceiverSupervisorImpl to store the data
and callback a supplied function with a given argument.
This function needs to be callable from Java. But Java cant call () => Unit, so have to use Java-friendly Function.