refactor graphlab stuff into naive engine and splitv engine