Port ewert's trap detection to V, via v4.  Closes out #1745.

* Include searching within 3 squares of player.
* Add bounds check + only allow things to be found if you can see them.
* Refactor to avoid multiple layers of nesting in the searching code.
* Make messages make more sense for LOS searching (from 'you found x' to 'you notice x').