Remove unneeded #include statements completely

Unistd.h was only used to get a definition of NULL in all files. Add our
own NULL #define and remove unistd.h from flash.h
stdio.h has no place in flash.h, it should be included only in files
which really need it.
Add #include statements in individual .c files where needed.

Replace a few printf with msg_* to eliminate the need for stdio.h.

Corresponding to flashrom svn r1021.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>
diff --git a/flash.h b/flash.h
index ec7dd8e..8e8939b 100644
--- a/flash.h
+++ b/flash.h
@@ -24,9 +24,7 @@
 #ifndef __FLASH_H__
 #define __FLASH_H__ 1
 
-#include <unistd.h>
 #include <stdint.h>
-#include <stdio.h>
 #include "hwaccess.h"
 #ifdef _WIN32
 #include <windows.h>
@@ -34,6 +32,10 @@
 #undef max
 #endif
 
+#ifndef NULL
+#define NULL ((void *) 0)
+#endif
+
 typedef unsigned long chipaddr;
 
 enum programmer {
@@ -556,7 +558,6 @@
 extern int verbose;
 extern const char *flashrom_version;
 extern char *chip_to_probe;
-#define printf_debug(x...) { if (verbose) printf(x); }
 void map_flash_registers(struct flashchip *flash);
 int read_memmapped(struct flashchip *flash, uint8_t *buf, int start, int len);
 int erase_flash(struct flashchip *flash);