R16 pmods

- Use tuple modules instead of parameterized modules (parametrized modules will not compile on R16)
- Add Common Test suites which does basic testing
- Fix some bugs