Change to the way random products are loaded and add composer dependency. 

@bobbyshaw Tom!  Thanks for the PR man :)  

So I think the reason I used $customer here and then did another load() a few lines below was that the getFirstItem() call within loadRandomCustomer() doesn't load the full customer object.  I should have bit a comment explaining why I did that.

Maybe the better fix would be to drop the additional load() inside of that method though.