Secrets

New feature: trigger (trap) with Perception check, that can activate random secret furniture in visibility of user. Examining this secret furniture depending on Perception can open hidden walls.

As in medieval castles - retractable secret walls.

Description: the player walks around the house, and suddenly he notices that one of the statues (pots or pictures) looks strange. He's trying to do something with suspicious statue when he hears a rattling sound - it opened a hidden wall.

Look on shema:

![map_example](https://cloud.githubusercontent.com/assets/6351438/3444684/56d67f00-0130-11e4-9489-d5c04e7c97c6.png)

On bad perception+intellect you don't detect strange statue (painting, plant...), and can't activate examine it, and have small chances on read a riddle and open the walls. If you failed on examining, 1/10 chances that something bad happens.

Everything is done so that the user does not know what kind of statues with a secret, and what kind of walls open (if more than one)

Also trigger can be useful for many other things: easy to cast one furniture (with specific flag) to other.

-------
This feature slightly increases usefulness of perception stat.
You probably want to wrap that in `_()` like `_("This is %s")` to allow translation. Similar for other strings below (the sound string, too). Btw. translators like a full sentence with a single variable to insert ("You strongly pushed %s.") more than a manually created strings. Assume languages where the personal pronoun is the last word, or where the adverb goes behind the verb.

Also `query_yn` supports the varg parameters, so you don't need to make a string on your own, just call `query_yn("Try something with %s?", furname.c_str())` Your code will fail when `furname` contains a %s, because the code in `query_yn` will try to insert something there.

The code has tab characters in it. Some people here don't like them, but I do.