Encapsulate & protect members of CMessageHeader (kinda), CInv, CAddress

CMessageHeader is directly accessed, so the conversion was merely done for non-direct-access callsites.

`const uint256 &GetHash() const` to avoid a copy?