Adding toBB to break inst list into list of basic blocks.

toBB doesn't do any control flow analysis to determine actual basic
blocks, it just assumes an LLVM-like standard where all basic blocks
must begin with a label and end with a control-flow-changing
instruction.
Remove unused leftover type (Instruction).
Refactor insertStalls to use records.

For how this code is designed/being used, it makes far more sense to use
records to keep track of the data, than to declare sets of functions to
produce that data.

Handling of Instruction->AST is a bit shady, but overall this seems a
little nicer/more idiomatic.