Added optional param $allowEmpty to QuerySet::single()