Added struct cc_time for measuring test times.

Added functions to create a time and calculate the elapsed time
interval.
Added cc_time_alloc_formatted_time_in_seconds() function.

Also added cc_asprintf() to wrap and check allocation done by asprintf().
Added unit test for cc_runner_run().

Modified cc_runner_run() to handle NULL values for the function fields
in struct cc_runner.
Added cc_fail() function and CC_FAIL() macro to asserts.
Added test for cc_runner_run() for when a test case fails.
Turned struct cc_time into a value type.

Changed cc_time_alloc_now() to cc_time_now(), returning a struct cc_time
instead of an allocated pointer to one.  Removed cc_time_free().
Changed cc_time_elapsed_seconds() to take struct cc_time values instead
of pointers.
Added struct cc_time field to cc_runner function fields.

Also added a smoke test for cc_time_now() and correctly renamed the
cc_time_alloc_now() function definition to cc_time_now().
Added tracking of start and stop times to cc_runner struct.
Added elapsed time to cc_stdio_runner output.
Added timestamp to cc_stdio_runner output.

Also added square brackets around "PASSED" output to mirror "FAILED" output.
Removed fields from struct cc_runner that recorded test results.

Moved tracking of test result state to struct cc_stdio_runner_delegate.
Changed function cc_runner_run() to return the failure count.
Extracted the alloc_description() function from sequence_did_stop().

Moved code for formatting the result for cc_stdio_runner into a helper function.
Added ANSI escaping to output when running in a terminal.
Added cc_options struct to parse command line options.

Changed cc_stdio_runner_alloc() to take a cc_options struct.  Modified
other cc_stdio_runner functions to correctly follow the quiet and
verbose options.
Added cc_stdio_runner_main() function with boilerplate test main.

Also added CC_STDIO_RUNNER_MAIN() macro.