Allow for create to return undef

This happens when SoftwareResult::create fails to create the result
because another process has already created it.  Then
SoftwareResult::get_or_create will look for and find the already created
result.