Core File Update

Nothing actually works yet, but enough code is in place to sort of see
how this is all going to end up. I decided to use CBP rather than SLN
this time as it is more flexible and lets me test it with more
compilers.