Pulled out warning parsing code
Identifier where-locations are always the same now
Fixed off-by-one for caret output
Caret checking and caret parsing in warnings
More where/location tests