Improvements to the TM system, plus

- Bool type
- Updated docs for atomics
- Making sure transactions are committed on a return statement
- Support for indexing variables in C headers
- Function call operator parsing and codegen
- Improvements to the TM system to fix the interleaving of HW and SW transactions
Merge branch 'bug/atomic-tweaks'