raco: cleanup API, remove unused code, (and fix DoWhile encoding)

@7andrew7 and I are fed up with the `[(idb, op), ...]` representation of programs. This representation has implicit Stores (should be `algebra.Store` of `op` as `idb`) and implicit semantics (it means all its children should be executed in `algebra.Parallel`). Thus we are changing, Raco-wide, the representation of a plan to be a single subplan operator (`algebra.{Parallel, Sequence, DoWhile}`). As a side effect, this let us simplify and clean up the compiling code in `myrialang.py` somewhat.

@bmyerz a few issues we could use your help:

- [ ] I was scared to touch the code in `compile.py` that dealt with pipelining, so I left it alone
- [x] there is this `generateDot.py` in the root directory that, FWICT, replicates functionality in `raco.viz`. It's only used by the clang tests. Can we remove it and switch the code over to `raco.viz`?
- [ ] there were some other issues with the grappa and clang tests, so I disabled them.


Can you chime in?

re: DoWhile-- @7andrew7 pointed out that hardcoding the Relation key in the JSON is probably
a bad idea. Instead, I made the Java side handle that, if at all. Requires uwescience/myria#564
I suppose it is a granularity of unit testing debate, but in this case I tend to agree: I think they are a pain to maintain.  As long as the queries themselves are represented somewhere in the test suite.