Revert behavior of DateUtils.formatElapsedTime

Change Ib3c1e1aad05827df646aa18645cce19dffb7551f fixes the inability
to display more that 2-digit hour values, but also changes the behavior
of <10 minutes display by zero-padding the minutes. This makes
the Chronometer widget look different, and breaks Holo CTS.

Fix it so that for values under 600 seconds, the minutes don't
get padded

Change-Id: I34eb7f22e728c55bf3313ed1987ac32969cd5ed0
QS: Don't assume observers are registered when dealing with changes

Not all uri activity has an associated content observer. Poking
the content://settings/system provider manually, for example,
would result in the following NPE:

AndroidRuntime: FATAL EXCEPTION: main
AndroidRuntime: java.lang.NullPointerException
AndroidRuntime:        at com.android.systemui.statusbar.phone.QuickSettingsController$QuickSettingsObserver.onChange(QuickSettingsController.java:354)
AndroidRuntime:        at android.database.ContentObserver$NotificationRunnable.run(ContentObserver.java:180)
AndroidRuntime:        at android.os.Handler.handleCallback(Handler.java:725)

Change-Id: I7034d261804aa972fe9020dd9b602348d249cb33
Fix DateUtils.formatElapsedTime, again

Remove extraneous "hours" argument in the <10 minutes case

Change-Id: I5a5913d2e0744f5783f8422cddc30603c7bd703f