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.

Fixes #34