[WIP] Handle validation errors in a more helpful way

Prevents pulp from throwing away useful error information. 
I agree, but the problem is in the distributor, which used to catch any exception and raise a PulpDataException. By fixing that, there are base Exceptions that need to be caught here.