Use flags to indicate type of location error

This makes it a bit easier to override the message in templates which
makes it a bit easier for cobrands.
Leaves the default error message in location_error stash key which
should prevent any existing logic breaking.