Add a PropertyValidator class to centralize Module.validate operations.

Utilize the new class where warranted. This provides consistent error
messages for users and makes module validation significantly simpler
for developers.

Change-Id: I3233392a80882ba08cc073ec613534b929abb1e9
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>