Allow parallel rvars with a warning
Suppress warning about parallelizing rvars when we can prove it's safe.
Allow reordering "pure" rvars.
Made the bad rvar reorder example actually bad.

Before it was technically OK.
Allow splitting of RVars.

This opens up all the other scheduling options to RVars.

This probably currently allows some invalid reorderings.
Need to check that at reorder time now that RVars can be split.
Fix missing mark of pure dims as pure.
Check for illegal reorders at the reorder call, instead of during lowering

Also permits reorders of "pure" rvars.
Handle renames of RVars
gpuapi -> gpu_api
gpuapi -> gpu_api
Add an outermost scheduling point

so you can schedule things at the same loop level as another func
Indentation fix.
<root> -> __root to keep in line with other magic names
__buf_size of scalar buffers is elem_size
Add ability to schedule scalar stages on gpu without using a dummy var

Relies on the outermost scheduling point just introduced.
Made potential race conditions an error

Also added the means to override it.
Merge branch 'master' into parallel_rvar

Conflicts:
	src/RDom.cpp
	src/RDom.h
Merge branch 'master' into parallel_rvar

Conflicts:
	src/Simplify.cpp
Better comments for ParallelRVar
Include ParallelRVar.{cpp,h} in CMakeLists