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
See https://github.com/uwescience/raco/pull/211#discussion_r13938635

We should be testing these some other way, verifying that the strings match can't be right.

Now that we no longer produce these `[(idb, plan), ..]` versions of the program, we should probably use `fakedb` to evaluate them.