compiler: Update to ScalaTest 2.1.6

This has no important fixes - this is just to track the latest version.
compiler: Have IR generators point to their parent

This has two advantages:

- We don't have to pass a block with its parent function or module.
  Passing a builder is sufficient to access its parent builders.

- startChildBlock can be moved from IrBlockBuilder to IrFunctionBuilder.
  This means the false hierarchy of blocks can be replaces with a flat
  list of child blocks on the function. This matches the LLVM IR
  representation and will hopefully ease our stack usage