[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.
else raise exception about invalid platform provided?

You can also make the argument parser validate that the platform is in a set you specify: https://docs.python.org/2/library/argparse.html#choices