efficiency and grouping

it started by me considering that compiler would drop duplicate rules
thats why i added the "self" admin rules to the macro itself

because if more than one admin macro is called than duplicate rules are removed (effiency)

(note to self: i should probably also allow all admins (dac_override dac_read_search))

then i started considering that the admins also should be able to execute any related apps

so i enclosed those calls with the admin macros as well

A lot of types fixed in the meantime