Refactor and improve web-search plugin

This pull request implements simpler logic that enables adding 
more search engines in the future, while mantaining ease-of-use
to define aliases.

It also implements the following very solicited features:

- Silence nohup:
  Fix #1970, fix #3097, fix #3183, fix #3218, fix #3302, fix #3441.

- Add Yandex support:
  Fix #1845, fix #3119.

- Add Cygwin support to open command:
  Fix #2831, fix #3103.

In total, **10 issues** can be closed with this PR.
Feedback is greatly appreciated.