Raise warnings when invalid/unknown/unnecessary params are specified

Addresses: https://bugs.launchpad.net/oq-engine/+bug/1164324

This branch also cleans up the validation tests a lot, to make them more DRY.