shell, NM model: Allow removal of setting elements.

Delete setting elements that we handle explicitly.  Previously, the
old value would have stayed, but we only really want that to happen to
unhandled elements.
shell, NM model: Reset settings when applying fails.
shell: Include "routes" in ghost network connections.

They are required now.
shell: Don't assume that all network slaves are ethernet devices.

Previously, we would delete all connection settings of a interface and
creating a new "ethernet" one when turning it into a slave.  Also,
freeing a slave was done by just deleting the slave connection
setting.

Now we are careful to modify the existing connection settings.