Make parsing of types and GPS tags more robust

Don't assume that we cannot encounter type IDs other than the specification
says. It does happen. Also, don't assume that the string values for
GPSProcessingMethod and GPSAreaInformation will always be correctly formatted
strings.