[C++] Update ninja file only when necessary

As this feature is incomplete, this is enabled only with
--regen flag.

I decided not to use ninja's "generator" feature because we
cannot create appropriate regeneration rules for globs in
Android. There are some directory names which are also used
as target names (e.g., "cts"). Ninja tries to build such
targets to check if regeneration is necessary.
diff --git a/Makefile.ckati b/Makefile.ckati
index cb407d4..0ac85aa 100644
--- a/Makefile.ckati
+++ b/Makefile.ckati
@@ -33,6 +33,7 @@
 	find.cc \
 	flags.cc \
 	func.cc \
+	io.cc \
 	log.cc \
 	main.cc \
 	ninja.cc \