Addresses issue #1105. Does not solve things completely, but one big code movement (walletdb) appeared to magically solve many include dependency problems.
Move defs and code to walletdb.{h,cpp} respectively. This solves a key circular dependency plaguing include file cleanups, namely that db.h inclusion no longer sucks in CWalletTx etc.
Reduce headers.h usage in most modules.