Fixes #81

The main issue was that byebug commands were not being popped out of
Readline's history. The fix includes a complete rewrite of byebug's
history handling to be nicer to user programs using Readline. New
history is more useful and responsive because it's loaded before every
repl loop and saved after. So it's always inmediately available to the
user and it doesn't affect external programs.
Remove unnecessary instance variable
Rename constant
Refactor command_processor a bit
Refactor list command
Abort when trying to debug a nonexistent script
Change error message
Normalize some comments
Minor refactoring in processor
Better grouping of instance variables
Remove unnecessary line
Small refactoring in runner test
Add some docs from backtraces stuff