Port [] alarm management to GRPC.

This change implements a platform independent alarm manager in alarm.c.
It's integrated with iomgr, and some tests are cleaned up.

The alarm implementation itself is a fairly direct port of LazyAlarmList from eventmanager.
SpinLock has been replaced for now with gpr_mu, and other atomic operations have been dropped (again, for now).
A majority of tests have been ported.
	Change on 2014/12/19 by ctiller <ctiller@google.com>
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=82551363
diff --git a/include/grpc/support/time.h b/include/grpc/support/time.h
index 6f07de0..5a57d94 100644
--- a/include/grpc/support/time.h
+++ b/include/grpc/support/time.h
@@ -78,6 +78,9 @@
    respectively.  */
 int gpr_time_cmp(gpr_timespec a, gpr_timespec b);
 
+gpr_timespec gpr_time_max(gpr_timespec a, gpr_timespec b);
+gpr_timespec gpr_time_min(gpr_timespec a, gpr_timespec b);
+
 /* Add and subtract times.  Calculations saturate at infinities. */
 gpr_timespec gpr_time_add(gpr_timespec a, gpr_timespec b);
 gpr_timespec gpr_time_sub(gpr_timespec a, gpr_timespec b);