Add support for generating bytecode objects
This commit adds the -fwrite-byte-code option which makes GHC emit a
.gbc file which contains a serialised representation of bytecode.
The bytecode can be loaded by the compiler to avoid having to reinterpret a module when using the bytecode interpreter (for example, in GHCi).
There are also the new options:
- -gbcdir=: Specify the directory to place the gbc files
- -gbcsuf=: Specify the suffix for gbc files
The option -fbyte-code-and-object-code now implies
-fwrite-byte-code.