bfd: save 'mmap' symbol.

we'll need it for code injection, it looks like.
Step back *before* we remove the break point.

0xCC, the breakpoint instruction, is always one byte long.  If we
"uncover" the old instruction and *then* step back, is it possible
that we could step back more than a byte (if whatever was there
was a long instruction?)?

It seems like 'no', or this wouldn't have worked so reliably for
so long.  But, let's be safe.
testprograms/dimensional: immediately print out errno.

when injecting mmap as the first thing we do, it's almost the only
way to see what errno is.
get 'mmap' code injection working.

the meat is in alloc_inferior, which essentially forces the
inferior to mmap a 4096 byte region ... unbeknownst to itself,
basically.