frontend: avoid NULLed source_status
The source_status=NULL interpretation used to be "unknown". But it
caused unexpected issues with Build.state calculation. It is easier for
us to avoid NULL values there at all (we never put there NULL anyway
nowadays).
The thing is that we can not say now easily if the source was built OK,
or not. So the work-around is to claim all the NULLed source_statuses
as succeeded, and then - for only a subset builds that have no
associated build_chroot - flip the succeeded state to failed. Then we
can afford to set nullable=False.
Fixes: #1531