Push random state to engines, and change apply execution environment.
Push random state to engines, and change apply execution environment.

When apply is called it gets the random state from the client and sets
it on all the engines. So their uid generation is synchronized.

We also change the `__globals__` attribute on the apply'd function. So
that it executes in the `__main__` environment on the engines.

RaoUmer/distarray,RaoUmer/distarray,enthought/distarray,enthought/distarray