Integrate NetworkManager and associated technologies to provide a better user experience when connecting/disconnecting to/from various networks. This should be done in a way which is backwards-compatible with ifupdown and other standard mechanisms in previous Ubuntu releases.