[Hackathon PR] Myrial to Clang

Port datalog tests for Clang to MyriaL, and makes them pass.
Clang now supports most of MyriaL, but not yet arbitrary `Sequence`, `DoWhile`, `ScanTemp`, `StoreTemp`

changes to note for review:
* changed parameters in MyriaTestCase and myriad/interpreter.py so that the test case class can be used for any physical algebra
* moved some rules between myrialang.py and rules.py
* added some rules to rules.py

2014-8-27
Now also contains additional features from @TheYorkWei , like writing out to files in clang/grappalang and tests.
You are comparing `emit_print` against strings that appear in at least 3 places in the code. might be nice to factor these out as constants in, e.g., PlatformTests?

```python
EMIT_CONSOLE = 'console'
EMIT_FILE = 'file'
```

then use of these constants around instead.