Soft Credit API plus unit tests

CRM-12496.