Fix number of registers available.
Store location information in the AST, and include it and the filename when reporting errors.  Tweak some error messages.
Make name optional for error reporting.
Render register-to-register moves.
Get inlining working for basic example.
Visitor algorithm can return last return value when processing a list.
Implement valueless returns, and type checking of returned values.
Don't output unreachable jumps to the exit.
Fix bug where inlining another CFG did not properly make copies of expressions.
Implement preferred colours when colouring.  A colour is preferred by a variable when there is an assignment between the variable and a variable of that colour.  Assignments between variables with the same colour can be elided, as they will be from a register to itself.