Fix parsing the mdUI Info

- Fix mdUI info parsing. It assumed that the mdUI info can only
  appears in SP entities, and it tried to get the fields from there
  without checking if the SP variable actually exists. Now it tries
  to use a SP, and if it doesn't exist it falls back to an IdP.
- Improve location parsing. It tries to split the location using
  ',' and if it can't then tries using '/'. If it still can't get
  the location data then it gives up and assume there is no location
  data instead of entering an infinite recursion loop that produced
  an error.