add a function validateCondition() to avoid ambiguity

two advantages:

1. we no longer need to worry about input$foo being a list;
2. users have to explicitly call validateCondition() when they want error messages, so we know when to silently stop;
rewrite the lapply()/vapply() with a plain dumb for-loop
roxygenize