Bug 915970 - [Clock] Prepare Stopwatch for persistence

r=jugglinmike
Bug 915278 - [clock] Create IndexedDB wrapper to support database upgrades/downgrades

This commit adds SchemaVersion and Database objects used to support
flexible upgrades and downgrades in an application.

r=jugglinmike
Bug 912250 - [Clock] Implement Timer view r=jugglinmike

    commit a64fb57912691bffb1f3f641727cf1e10afb58df
    Author: Rick Waldron <waldron.rick@gmail.com>
    Date:   Mon Sep 16 09:36:26 2013 -0400

        Final updates

        Signed-off-by: Rick Waldron <waldron.rick@gmail.com>

    commit 2544e0f83b07f6aa7eb05c43faaaf542469eb8a9
    Author: Rick Waldron <waldron.rick@gmail.com>
    Date:   Fri Sep 13 22:16:52 2013 -0400

        Review updates

        Signed-off-by: Rick Waldron <waldron.rick@gmail.com>

    commit 8df1eeb65ae0df206e3e3fd109f24380568858ea
    Author: Rick Waldron <waldron.rick@gmail.com>
    Date:   Fri Sep 13 22:06:26 2013 -0400

        Fixes visibilitychange issue

        Signed-off-by: Rick Waldron <waldron.rick@gmail.com>

    commit f7e8e4120f48d6c5af970c57e25ef355b79eb443
    Author: Rick Waldron <waldron.rick@gmail.com>
    Date:   Thu Sep 12 12:48:15 2013 -0400

        Picker, Spinner

        - Implements Picker (n Spinners)
            - Includes tests.

        - Implements Spinner

        Signed-off-by: Rick Waldron <waldron.rick@gmail.com>

    commit 3200c63c61833ce7f268f7ef38443ac608c23e18
    Author: Rick Waldron <waldron.rick@gmail.com>
    Date:   Wed Sep 4 15:48:32 2013 -0400

        Bug 912250 - [Clock] Implement Timer view

        https://bugzilla.mozilla.org/show_bug.cgi?id=912250

        - Timer object
            - Create or revive a new or existing Timer object
            - tick method executes every second, emit "tick" event while state is Timer.ST
            - start method updates startAt, sets Timer.STARTED state,  initiates tick()
            - pause method sets Timer.PAUSED
            - cancel method sets Timer.CANCELED, purges timer from storage
            - notify method handles user notification.
        - Timer.View object
            - Initialize a single UI view
            - Interact with the currently active Timer object
            - Update view on Timer object tick events

        - Utils
            - moves formatTime to Utils.format.time
            - creates new Utils.format.hms
            - Updates and adds tests.

        - Picker
            - Implements a non-horrible, but slightly not-so-great, in-line Picker widget

Signed-off-by: Rick Waldron <waldron.rick@gmail.com>
Bug 821519 - Enable sharing urls from the browser through email r=jrburke
Bail from app_messages_test.js if missing mozSetMessageHandler