* fix approval-checking GRANDPA voting rule a `None` return value implies to vote on the best, not to vote on the base. this explicitly changes the logic to vote on the base * refactor logic out and test