Handle unused block local variables in UnusedBlockArgument rather than UselessAssignment

They were handled by `UselessAssignment` until now (because we didn't have `UnusedBlockArgument` when `UselessAssignment` was introduced), but they are considered a sort of argument since it can be declared without initial assignment. Pointing out them as "useless assignment" is a lie.