Rework the version determination once again

- Move the version determination in another, private method
  Still if-else, but with the flexibility to add more than legacy true vs. false
- move to self.api_url instead of over and over re-recombining the self.url + self.path
  (login does use the url still though)

The interesting thing is now:
- v2 users have to send 2.x, but that minimal change.
- v3 users with one site can update without any changes
- v3 users that want to use multisite .. well, they need to declare the full thing.