allow other plugins to validate the passwd in the lost passwd page

since woocommerce is running its own lost passwd functionality, it should allow other plugins to validate the passwd reset via the validate_password_reset hook, just like what wp-login.php is doing. Doing the checks in WC_Shortcode_My_Account::reset_password is too late.

I've also clean up some repetitive checks as well.