Cleanup code using forward declarations.

Use misc methods of avoiding unnecesary header includes.
Replace int typedefs with int##_t from stdint.h.
Replace PRI64[xdu] with PRI[xdu]64 from inttypes.h.
Normalize QT_VERSION ifs where possible.
Resolve some indirect dependencies as direct ones.
Remove extern declarations from .cpp files.
Merge pull request #2767

51ed9ec Cleanup code using forward declarations. (Brandon Dahler)
Make CCoinsView use block hashes instead of indices
Move CCoins-related logic to coins.{cpp.h}