Upgrade .gitignore with specific byebug stuff
Minor whitspace & style changes
Change semantics of finish

This is a backwards incompatible change that changes the meaning of the
`finish` command. `finish n` means now literally "finish _n_ frames from
current position and then stop", which makes more sense than the old
"run program until frame number _n_".

The `Context#stop_return` method has been removed from the API because
it was just added to support `byebug` statements at the end of blocks
and now `Context#step_out` can perfectly handle this.

Now the API now can be easily extended in the future to support
breakpoints at the end of method, which could be useful to inspect the return
value, for example.

pry-byebug will need to be upgraded to support this.
Fix typo
Simpler history (no subsubcommands)

History was the only command needing subsubcommands, so I've removed
them. Now they are regular subcommands
* `show/set history filename` is now `show/set histfile`
* `show/set history size` is now `show/set histsize`
* `show/set history save` is now `show/set autosave`

This commits also includes various changes in Byebug::History and the
assumption that readline will be always available so I can get rid of
feature detection stuff.
Fix bug where history would not be saved sometimes

Specifically, when program would terminate naturally as oposed to being
terminated with the `q` command.
Fix some subcommands min length
Simpler set/show command & tests
Fix errors in script/remote interface

I need tests... :S
Fix wrong test example
Change a variable name

There's a method called the same, just to be clearer
Update CHANGELOG with latest stuff