Don't validate skipped prompts

Fix mockPrompt so that `validate` is not called when `when` return
false. This makes the mocked behaviour consistent with Inquirer.js
and prevents test failures caused by `validate` functions not expecting
an undefined value.
Merge pull request #601 from strongloop-forks/apply-when-in-mock-prompt

Don't validate skipped prompts