Adding global test fail/ignore message, using safe sprintf alternatives, adding configurable test result token delimiter minor clean up

1. Added UnitySetGlobalMessage(), TEST_SET_GLOBAL_MESSAGE(), TEST_RESET_GLOBAL_MESSAGE(), and const char* UnityStrGlobalTestMsg to allow a test (mostly useful for lookup table style tests) to specify a global message to be printed for any TEST_ASSERT/TEST_FAIL/TEST_IGNORE/CMock failure.  Implementation of this includes refactoring of UnityAddMsgIfSpecified() and addition of UnityAddLonelyMsgIfSpecified() to handle assert specified messages and the global message.
2. Added call to TEST_RESET_GLOBAL_MESSAGE() in create_runtest() to clear a previously set global test message.
3. Added UNITY_RESULT_DELIMITER #define which allows for delimiters other than ':'.  This was needed by our CI build because the Unity results were being detected as GCC warnings.
4. Added SAFE_SPRINTF() macro to abstract snprintf() vs sprintf_s() usage instead of the less safe sprintf()
5. Minor clean up for readability/defensive coding