[smart] add a post_specialize step
[smart] add is_external, is_local properties to current provide
[xmpp] use post_specialize to select the provide host