Optimize header dependencies; improve Makefile dependency graph
This patch set includes the following changes:
- Remove unused #includes
- Factor out #includes that are only needed in some source files from headers.h
- Add dependency tracking to unix, mac, and mingw makefiles via gcc's -MMD flag
These changes improve bitcoin's development environment. Previously changing any header file caused a global recompile. With these changes, only those files that directly depend on a changed header file will require recompilation.