Cleaned up includes.
More include cleanup. Added forward declarations where possible.
Removed unused includes.