FCmdrProfile: Add a "source" property.

So we can track which FCmdrProfileSource created the profile.
FCmdrProfileSource: Make load_remote() method async.

I'm thinking FCmdrService is going to invoke load_remote() concurrently
for all profile sources, and then collate the results and figure out if
any new or updated profiles need to be applied.

The key point is to only call fcmdr_service_apply_profiles() at most
once per update cycle, so we'll want to know when the load_remote()
operations finish.
Add fcmdr_profile_source_try_new().

Factory function instantiates an FCmdrProfileSource subclass whose
registered extension name corresponds to the given SoupURI scheme.

e.g., "http://..." instanties FCmdrHttpProfileSource

The function returns NULL if no matching extension is found for the
SoupURI scheme, hence the name "try_new" instead of "new".