Unit tests for macro blocks

Also:
 * fixes local variable scope for several macro
 * make thrown exceptions be more descriptive
 * parsing error happened when Limit for ParallelCode was integer (and not expression)
 * improved Break support

Change-Id: Ie17240c2d343014ce3da9ddc6577cf93cf99b106
Closes-Bug: #1337512
Partial-Bug: #1316786
Merge "Unit tests for macro blocks"