nmcli
	s[tatus]
		n[etworking]
			on
			off
		sleep
			on
			off
		wifi
			on
			off
		wimax
			on
			off
		mobile (wwan?) (what's that?)
			on
			off
	r[eport] -- replace nm-tool, which is actually not a NetworkManager tool, but just a command to print a report
	c[onnection]
		a[dd] (create?) [--save] [--up] [uuid <uuid>] [id <id>] (--save and --up should match the commands below)
			[--ask] -- ask for any credentials needed on the command line
			type ethernet
			type wifi
				ssid <ssid> psk <psk> ...
			type bridge
				name <ifname> ... method ...
			type bond
				name <ifname> ... method ...
			type vpn ...
			...
		c[hange] (modify?) [--save] <uuid/id> ...add-options...
		d[elete] <uuid/id> -- remove from runtime config *and* disk configuration
			[--runtime?] -- only runtime config
			[--disk?] -- only permanent config
		up (activate/connect?) <uuid/id> [dev[ice] <ifname>]
		do[wn] (deactivate/disconnect?) <uuid/id> | --all
		s[ave] <uuid/id/ifname> -- save to configuration
		r[estore] <uuid/id/ifname> -- restore saved configuration (e.g. after runtime changes, aka rollback)
		r[estore] --all -- restore all connections to on-disk configuration and remove all temporary connections (full rollback)
	d[evice]
		[show] -- use just one output format (or tweak it with an option like --format/--short/--long)
			[accesspoint|ap [ssid <ssid>]] -- show accesspoint list information optionally filtered by ssid
			[dev[ice]] <ifname> -- show device status
			address <mac> -- show device status by MAC
		a[dd] (starts managing)
			dev[ice] <ifname> -- start managing device
			address <mac> -- start managing device by mac
		d[elete]|rm (stops managing) dev[ice] <ifname>
			dev[ice] <ifname> -- stops managing device
			address <mac> -- stops managing device by mac
		up (activate/connect?) -- automatically choose connection for this device
		do[wn] (deactivate/disconnect?) -- disconnect the current connection
	p[ermissions]
		...
-- backwards compatibility --
	nm ...
	connection list
	connection status
	device list
	device status
	device wifi ...

Notes:

Decide between yes/no, on/off and up/down for boolean values used in 'nmcli status'.

nmcli shouldn't be designed to resemble D-Bus but to be convenient for the users. Where it can reasonably share
syntax with 'ip', it should do so. D-Bus interface can be left as is or can be improved in later major releases.

The shortcuts could be done in the 'ip' way. You can type as short as you see fit but if your input is ambiguous,
the first matching object command will be used. It's very easy to do.

The connections should be in one of the following states:

	disconnected -- either autoconnection disabled or connection already manually disabled by the user
	autoconnect -- connection will be used when convenient 
	connecting
	connected
	disconnecting

Examples:

1a) Create a new temporary wireless connection and activate it

nm connection add --activate type wifi ssid testwifi psk VerySecretPassword

1b) The same but with password on stdin

nm connection add --activate --ask type wifi ssid testwifi
VerySecretPassword

2) Create a new permanent wirelss connection and activate it

nm connection add --save --activate type wifi ssid Test psk VerySecretPasswordA

3) Disconnect (by interface)

nm device down wlan0
