More strict compiler warnings.
More strict compiler warnings.

 * Error when function is missing return type (not just warning).
 * Warn when functions in source don't have corresponding declarations
   in header. In case that it is not an error they should be put in
   anonymous namespace.

DerThorsten/magnum,MiUishadow/magnum,ashimidashajia/magnum,MiUishadow/magnum,ashimidashajia/magnum,MiUishadow/magnum,DerThorsten/magnum,ashimidashajia/magnum,ashimidashajia/magnum,DerThorsten/magnum,ashimidashajia/magnum,DerThorsten/magnum,MiUishadow/magnum,DerThorsten/magnum,MiUishadow/magnum,MiUishadow/magnum