Fix display of repeated brainfuck instructions

An snprintf with the same source and destination buffer caused the buffer to
be read as an empty string.

To quote the Linux Manpages project:

  C99 and POSIX.1-2001 specify that the results are undefined if a call to
  sprintf(), snprintf(), vsprintf(), or vsnprintf() would  cause  copying  to
  take  place  between  objects that overlap (e.g., if the target string array
  and one of the supplied input arguments refer to the same buffer).
bf: rename peek/poke to in/out
bf: clarify repetition counting
bf: remove a useless heap allocation
Implement working ESIL backend for Brainfuck. Requires manual init
update hook_flag_read, again!!!