MikroC compiler support

This commit includes three kinds of changes:
  - Generic configuration macros that hopefully make it easier to port ctest to other platforms.
  - Specific configuration for MikroC.
  - Some workarounds for MikroC compiler issues.

Changes:

  * Platform macros: __CTEST_GCC, __CTEST_APPLE, __CTEST_MIKROC

  * Some user-configurable macros, see README.

  * Some auto-detected macros that indicate availability of the platform features:
     - setjmp() and longjmp();
     - isatty();
     - gettimeofday();
     - printf(), fflush(), snprintf() and so on.

  * Mikroc doesn't support linker sections, so configuration options added that
    allows to add tests manually.

  * MikroC for ARM doesn't provide printf() and gettimeofday(). User can now provide
    his own implementation.

  * MikroC also doesn't provide vsnprintf(), so functions that uses it were converted
    to macros and use snprintf() instead.

  * Also workarounds for several MikroC issues added. Unfortunately `data' is reserved
    keyword in MikroC, so configuration macro added that (optionally) changes it to `_data'.

  * Test structures are now aligned explicitly instead of relying on default compiler
    alignment.

  * Variable declarations are only allowed in the beginning of block in MikroC.

  * ctest_main() now reinitializes static variables and can be called more than once.
Simple command-line arguments parsing and GCC-style error reporting

Two command-line options are available now:
  * `--colored': use colors even if isatty() is false;
  * `--gcc-style`: use GCC-style error format.

GCC error format is: `<file>:<line>: error: <error>'.

This format is determined by many programs, including eclipse, emacs and colorgcc, so
test errors can be automatically highlighted during project build.
CTEST_MORE_COLORS option added that produces more coloreful output