Use Pretend instead of Mock

The pretend ``call_recorder`` is simpler than mock and works a bit nicer IMO. So this removes the remaining uses of mock and replaces it with pretend. The only place we should use Mock now is for ``mock.ANY``. If pretend gains a ``pretend.Any`` or similar in the future we can switch entirely.