Move blank primary key filtering to the marshaller.

I agree with jose_zap that having it here makes more sense, as the
marshaller is responsible for converting request data into sensical
entities.