Ctrl r search

The functionality for the bash-like, ctrlR search. With ctrlR you start the search prompt, and then use ctrlR ctrlS to navigate through the history.The search looks for lines in history that match what you are typing in any part of the line.

This does not copy all the functionality from the readline ctrlR, but I think it is a great first start.

There are few changes but a lot of commits, this is because sometimes I commit and push even if something is not finished to be able to download it at home and continue working there.
I remove the beep on escape for it to work as the "cancel" for the ctrlR search and then do not beep when returning to the main loop. If you wish to keep the beep on esc, there's a quick fix I can do, but I kind of like the esc key not beeping.