Move GROUP_* definitions to lintypes.h and .c

Move GROUP_* definitions form lin-city.h to lintypes.h (if they are
needed by other modules) or to lintypes.c in the other case.

Also add the inclusion of lintypes.h in the source files where is now
needed.

Some other minor definitions moved from lin-city.h to their
corresponding source file modules.
Move icon file names definitions in lctypes.h

- Move icon .csi filenames definitions in lctypes.h to lintypes.c
- Move icon names definitions of .png files in lctypes.h to readpng.c
Get rid of some inter-header files dependencies

The declarations of arrays (extern) of 1-dimension don't need to define
its array size (the size is define in the definition in .c file). So
taking advantage of this feature it's possible to get rid of some
dependencies between header files.
Move group related macros to lintypes.h

- Move parameter macros related to group check from englobs.h (and
  power.h) to lintypes.h, where group definitions belong.
- Remove macros related to main_groups[] and substitute them by its
  value.
Refactor macros of lintypes.h

Change macros of lintypes.h to avoid the use of MP_GROUP(), and get rid
of those that are redundant.

Change the source files to use the new macro set.