Replace the provider specific node discovery code with go-discover to support AWS, Azure and GCE. Fixes #3282