bf: Make GC-safe

A bit kludgily, wrap everything in a struct that references all the
memory we need, and then return a closure that itself references that
struct.
Split bf into a package and a `gobf` binary.
Add a bunch of comments and a README.
Modify rot13.bf to exit on EOF.