IRB: allow use of specific history files

You can now create project or directory specific IRB history files. If no
`.irb_history` file is present in the current directory, each parent directory
will be searched for one as well. If none is found, `~/.irb_history` will be
used.

That way, if there is a Ruby project deployed with two environments, `dev`
and `staging`, one only needs a `touch /var/www/{dev,staging}/.irb_history` to
have separate history files for each of them.