Parallel rvar

This branch adds the ability to parallelize, split, and reorder RVars when we can statically prove it is safe to do so.