Other programs communicate with cryptohomed using its DBUS API.  This API
exposes both synchronous and asychronous methods for mounting, unmounting,
removing, and changing passwords.  It also gives status information about the
TPM.  See cryptohome.xml for a brief listing of the APIs available.  Note that
the asyncrhonous APIs complete using a signal (AsyncCallStatus).  The completion
signals are guaranteed to be in-order.
