Introducing a C99 compatible boolean type

A boolean type 'bool' has been introduced. The type is an enum, and is
compatible with the <stdbool.h> definition of bool from C99.

Also, boolean.h header file has include guards now.
Use the new bool type in 'world' fields

The fields of the 'world' variable that represents boolean values are
now implemented with the new bool type introduced.

(There are also some formatting changes in the code related to the
modified variables).
Use the new bool type in struct GROUP

The not_credit field of struct GROUP now uses the bool type introduced.
Fix regression: GROUP_*_NO_CREDIT #defines

The GROUP_*_NO_CREDIT #defines must be visible from engine.c and mouse.c.
They are moved to lintypes.c in commit
52b573704b9f65af10fd091dba5d245eb6daeb67 but that introduces a bug. This
fixes it.
FIX: show "no credit" msg building solar power

The solar power group don't show the "no credit" message when you try to
build one and you don't have enough credit (the conditional compilation
uses the wrong symbols, it has to be GROUP_SOLAR_POWER_NO_CREDIT and
GROUP_SOLAR_POWER for the group).

Also, the symbol to use in rocket pad case is GROUP_ROCKET_NO_CREDIT
(GROUP_ROCKET in the #ifdef is a mistake).