Added tests and functionality for zero-existential-deposit staking scenario
This commit adds two tests - `reap_stash_works_with_existential_deposit_zero` and `do_withdraw_unbonded_can_kill_stash_with_existential_deposit_zero` - to check staking functionality when existential deposit is set to zero. Also, updated the code to use `is_zero` method for zero balance check, making it more semantically clear and aligning it with other parts of the codebase. This should make the staking module more robust and easier to understand.