Add search to Erlang shell's history

Search mode can be entered by pressing ctrl-r. Enter terms and press
ctrl-r again to search backwards, or ctrl-s to then search forward (if
you terminal doesn't eat up that one). Press enter to execute the line,
or use tab, arrow keys, or other control sequences (^D, ^K, etc.) to
exit search mode while remaining on the last found line.

The search mode is a simpler version of the one available in bash or
zsh shells.

This adds a few modes to the shell (search, on top of none and meta) in
group.erl for history search, and a few more in edlin.erl to change the
meaning of control sequences while searching.
Merge branch 'dg/win_icon' into master-pu
Merge branch 'dw/crypto-hmac-enhancements' into master-pu
Merge branch 'vd/code_get_mode' into master-pu
Merge branch 'sal/ftp' into master-pu
Merge branch 'fdm/windows_file_share_delete' into master-pu
Merge branch 'mpu/odbc_autocommit' into master-pu
Merge branch 'lf/snmp-tuple-fun' into master-pu
Merge branch 'lf/snmpm_user_default' into master-pu
Merge branch 'nox/promote-inline_list_funcs' into master-pu
Merge branch 'jd/file-ram-opt-doc' into master-pu
Merge branch 'avi/fix-os-cmd-win' into master-pu
Merge branch 'pn/ansi-console' into master-pu
Merge branch 'ta/werror-return-type' into master-pu
Merge branch 'jv/cover-patches' into master-pu
Merge branch 'rc/break-out-asserts' into master-pu
Merge branch 'sa/dialyzer-record-field-type' into master-pu
Merge branch 'id/snmp_optimization' into master-pu
Merge branch 'nox/rm-reverse-eta-conversion' into master-pu
Merge branch 'sk/odbc64' into master-pu