Counterparty Credit Risk, Collateral and Funding: With Pricing Cases For All Asset Classes