Add ATA Secure Erase functionality
This is available via a new Drive.Ata.SecurityEraseUnit() method but
also via the Block.Format() method by setting the @erase parameter to
'ata-secure-erase' or 'ata-secure-erase-enhanced'. The latter is the
preferred way of using the new functionality.
Secure erase requires the calling user to be authorized for the (newly
added) org.freedesktop.udisks2.ata-secure-erase polkit action. By
default this requires administrator authentication no matter what kind
of drive is being used.
Since a secure erase cannot be canceled, a new Job:Cancelable property
has been added so the UI can avoid displaying a cancel button.
Considerable care have been taken in the implementation so things are
properly logged to the system log in case something goes wrong - for
example, if a device is yanked it may remain locked and needs to be
unlocked using the temporary 'xxxx' password that is used.
http://people.freedesktop.org/~david/gnome-disks-ata-secure-erase.png
http://people.freedesktop.org/~david/gnome-disks-ata-secure-erase-warning.png
http://people.freedesktop.org/~david/gnome-disks-ata-secure-erase-confirmation.png
http://people.freedesktop.org/~david/gnome-disks-ata-secure-erase-progress.png
Signed-off-by: David Zeuthen <zeuthen@gmail.com>