Renamed the function that represent EXIT to 'exit' (from 'semi').
Removed 'docol' and branch functions from Primitive type class.

In practise, they are always be needed (expect when generating
native code, but that is beyond the scope of this project), but their
type signatures differs between the interpreter and a typical target.
For this reason, they were removed from Primitive.
Inital support for target compilation.

Added a framework for emitting code for a target. Added initial target
CortexM using indirect threading model with 16-bit tokens.
The test word TARGET-CODEGEN can be used to emit some assembler output
for CortexM to stdout.

At the moment it is just very sketchy as just a few Primitive
operations are emitted.

Added cabal packages blaze-builder, bytestring and dlist.

Much more work is needed on this. More Primitive operations, actually
cross/meta compiling core.fs and generate output.
The CortexM run-time model needs more work.
It would also be very good to add a second target and get that to
work.