shell: Improve storage sort orders.

Block devices are now sorted numerically by their device numbers so
that things like "hd10" come after "hd9" and not before.  Other sort
orders have not really changed, but the reliance on D-Bus object paths
has been removed.

Fixes #1210