Fix bugs in calls to add_offence.

There are a number of places where the location argument to `add_offence`
is still the line number. It's supposed to be a location object that
responds to `line` and `column`. The way to catch these errors in our unit
tests is to access `line` and `column` in the `Offence` constructor.