Payload message data validation

This is a first step towards proper Payload data validation. It reuses & extends the dependency validation mechanism introduced in #353 and removes its dependency to underscore so we can safely use it from within the worker.

Next step will be to optionally validate nested object structures, possibly simply by adding property validators as functions; but this one is large enough already and brings significant enhancements.