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.
Merge pull request #90 from davidlmorton/AT-624-second-attempt

Allow for create to return undef