Add simple bytecode saving and loading. No dependency checking yet.

In Apricot we need to track dependencies because if a file 'A' uses a macro
from file 'B' and 'B' changes, then 'A' may need to be recompiled.