Add ifdef guards around GCC diagnostic pragmas

This patch fixes multiple issues with gcc diagnostic pragmas:
- removes warnings from non-GCC compatible compilers - see https://github.com/ThrowTheSwitch/CMock/issues/41 for IAR warnings;
- keeps ICC quiet. ICC defines __GNUC__ but it does not support gcc pragmas;
- keeps Clang quiet about Wpragmas. Clang does support gcc pragmas but it does not support Wpragmas option;
- allows gcc to use all three pragmas. Wpragmas option was introduced in GCC-4.1.0 and diagnostic pragmas emerged with GCC-4.5.1. No need to guard this option for gcc itself.