fix(Dgeni): handle validation and processor errors better

There must surely be a nicer way to get promises to do what this is doing!