Update the description for Imprison.
(cherry picked from commit 880986c57354920a9f68a7c5e8313b7c63364c7f)
Pressing ? displays List of Character Backgrounds during background selection.
(cherry picked from commit f2abbdb41b8679ceaca920c2e09af25630f7f63d)
Disallow identifying/enchanting/recharging melded items [reimplemented].

This reverts doing this inside the inventory filter, as that broke all
fail messages, and made keyboard flow inconsistent as well.

It's ugly, and probably should use some variant of in-filter code with
a means to pass failure messages to the caller, but for 0.12, we really
shouldn't present new players with "That item can't be selected now.".

(cherry picked from commit bcafd50d28ce15105ae43bb6a32cb08d55c30a15)
(cherry picked from commit 3d87c34f773afb613986b3343e7cc83a7a09781e)
(cherry picked from commit 4cf483e8a257eea3313a1b6c8246f178be63e459)
(cherry picked from commit 4b82d48426ea5aa27efb0365d2ba3fcd8e0baf76)
(cherry picked from commit b1144867e8f00914599f1a0ba2eddb1fa58d7bcb)
Fix a misbuild with clang-3.3.

Our fault: enum types are not guaranteed to allow storing any values outside
defined values, and the compiler is allowed to reduce storage size if it
wants to.  Since version 3.3, clang prefers unsigned types here.  We used
-1 and -2 as magic values, which would then fail comparison.

I did not preserve the value of PlaceInfo.branch of -2 (ie, uninitialized).
The whole branch field is mostly redundant, though, and we can get rid of
it once get_all_place_info() is refactored.
(cherry picked from commit aefa5b469d9c151cba17c0c9323391a6d15e9673)
Drop a couple of useless comparisons.

GOD_NO_GOD isn't -1 since ages ago, so these were inoperative.

I'm afraid of dropping :god=: in logfiles -- should we fix its omission
or would it break bots?

[Picking into 0.12 to shut up clang's warnings.]
(cherry picked from commit 4d69c10402ccda47deefc8ed3482d9764688dc13)
Fix a monster_type misbuild with clang-3.3.

Again, a magic value of -1.  It was also wrongly checked in a few error
handling routines, rendering them inoperative even with gcc.
(cherry picked from commit 5f493bf4362078a61db8c6a62e16e1faa9a586fe)
Fix invalid message colour and job names being accepted.
(cherry picked from commit 36e1f6c9ed5eebfef931d4438c4667e6870115e2)
Fix a name conflict with std::ignore.

Both in new gcc and new clang it causes a warning only with -Wextra, but
clearing it costs us nothing.
(cherry picked from commit ebf4e2fde760e814249e7c9333fde02ee42ee120)
Fix a "no previous declaration" warning on Windows.
(cherry picked from commit 62aa3a732fe1726c6ee2fffde5a83e4be51dec69)
Fix warning caused by apparently missing #ifdef.
(cherry picked from commit 2552ddc642ee69c9ebc4e994f66f579500b675ea)
Fix a few "no previous declaration" warnings in tiles.
(cherry picked from commit 5c79c9b89532195e06028beba5d38b30a6410a0b)
Fix a crash if Xom acts when you're at a zero stat.
(cherry picked from commit 6ad45a174772cb1ee55a7e15435a648887b71b6e)
Fix an inoperative battlesphere check.

It's redundant now, though, we had to work around this to prevent mysterious
crashes.  Here's what was the cause.
(cherry picked from commit 544981c1f93a8893c702ef8e75c73f7962729d3f)
Update FAQ.
(cherry picked from commit 9a34f709b5908accc7a4e22f936d321390303174)
Sync manual from the wiki.
(cherry picked from commit ece4a6f4c068c6db07508448e84f78be7e2a93c5)
Merge remote-tracking branch 'upstream/stone_soup-0.12' into gettextized-0.12

Conflicts:
	crawl-ref/source/dat/database/FAQ.txt
	crawl-ref/source/invent.cc
	crawl-ref/source/item_use.cc
	crawl-ref/source/quiver.cc