Canadian dollar climbs to four-week high as oil adds to rally