Only trigger completion callback with valid Trial

Previously it was possible to trigger the #on_trial_complete even if the Trial
wasn't legally completed (eg #complete! was falsey). This can occur if the user
reaches a #finished call before they reach an #ab_test call.
Merge pull request #208 from SegFaultAX/fix-trial-complete-callback

Only trigger completion callback with valid Trial