Merge GetCoins and HaveCoins into CCoinsViewCache::AccessCoins

Both GetCoins and HaveCoins require a hashtable lookup, while most often we need both. Combine them into AccessCoins which returns a pointer rather than a reference (and gets rid of the overloaded name).

Also replace some calls to the (copying) GetCoins with AccessCoins.
Now needs a nullpointer check (IIRC null-ness was previously catched using an assert() ).