In memory shuffle

Updating changes to in memory shuffle.  This compiles and passes all graph test however, I cannot confirm if it has actually enabled in-memory shuffle.

Let's not merge the pull request (since it is largely a hack) but instead use the PR to track discussion.