Fixes old issue: byebug at the end of block/method

Now placing `byebug` at the end of a block or method call will stop
before that frame is returned. This is what users usually expect but it
never worked before this commit.
Further refactor frame commands