Refactor tests for C

- Refactor `clang_tests` to be more extensible to other platforms and ground-truth-providers
- add `grappalang_tests`
- Note that these tests are set to be ignored by `nose` due to limitations in travis compiler that I haven't addressed
- run all tests with:
  1. set GRAPPA_HOME
  2. `python c_test_environment/grappalang_tests.py`
- run one specific test with:
`python c_test_environment/grappalang_tests.py GrappaTest.test_join`