Modify the way the PeriodicActionUtils scheduler works.

1) If an action is past its scheduled date, fire it off right then.
   Otherwise the boot listener could call this, have passed the
   scheduled time, and then have to wait another 24 hours.

2) Do the directory update in an AsyncTask rather than in the broadcast
   thread.