Add cmake_reset_check_state() macro.

It's acknowledged that check state should not generally nest,
so it should be cleared when used, for example, in Find* module.

Also, add optional RESET argument to cmake_push_check_state().

General idea approved by neundorf@.
Fix documentation bugs, noted by and input from neundorf@.
Merge topic 'add-cmake_reset_check_state' into next

3a1c57c Fix documentation bugs, noted by and input from neundorf@.
19de7dc Add cmake_reset_check_state() macro.