More efficient period overview and labeling.

Fixes #372, and adds an API that should be re-usable for #304.

Squashed commit of the following:

commit 17b2fc816c1401e4f6f82d53d3bdff7ee4b5c625
Author: Espen A. Kristiansen <post@espenak.net>
Date:   Tue Nov 20 12:43:50 2012 +0100

    apps.statistics...DataView: Autohide separator with change weight button.

commit a904dad704530570a45e5f88a922ef2eb08ed27b
Author: Espen A. Kristiansen <post@espenak.net>
Date:   Tue Nov 20 12:41:37 2012 +0100

    apps.statistics...DataView: Better text for the view dropdown.

commit df06cd4b55cab22517c0e0a2be3b6708ed08c157
Author: Espen A. Kristiansen <post@espenak.net>
Date:   Tue Nov 20 12:36:49 2012 +0100

    apps.statistics.dataview.DataView: Only show weight button with detailed view.

commit 9f517499d84664a79260d04672a05e63c8225a19
Author: Espen A. Kristiansen <post@espenak.net>
Date:   Tue Nov 20 12:20:22 2012 +0100

    apps.statistics...DataView: Visually separate scale and view in toolbar.

commit 381744b009bb0a5bad0023b5f6c07cdfac99a8f3
Author: Espen A. Kristiansen <post@espenak.net>
Date:   Tue Nov 20 12:17:37 2012 +0100

    apps.statistics.dataview: menuDisabled.

commit bba1a1524480ec736220c2e306f051a2d056ba00
Author: Espen A. Kristiansen <post@espenak.net>
Date:   Tue Nov 20 12:11:17 2012 +0100

    apps.statistics: Fixed all JSHint errors.

commit 10ebf01fe6cb0d0227c2f098b6b142c4bcd51038
Author: Espen A. Kristiansen <post@espenak.net>
Date:   Tue Nov 20 12:03:37 2012 +0100

    devilry_qualifiesforexam.rest.aggregatedperiod: Tests.

commit c17d7772160c1a65255941d5861563c7ee67bff7
Author: Espen A. Kristiansen <post@espenak.net>
Date:   Tue Nov 20 02:25:17 2012 +0100

    devilry_qualifiesforexam.rest.aggregatedperiod: Optimize queries.

commit d5d88cd219ec0718f9ffdbfef6f827f020ab2451
Author: Espen A. Kristiansen <post@espenak.net>
Date:   Tue Nov 20 02:16:12 2012 +0100

    apps.statistics: Handle load_everything correctly.

commit 64ccf0d9c8cfe9ef655c4bf4739d6c3925597975
Author: Espen A. Kristiansen <post@espenak.net>
Date:   Tue Nov 20 02:15:33 2012 +0100

    devilry_qualifiesforexam.rest.aggregatedperiod: Docs and minimal loading.

commit aee9d8210dc75491247fe550b66ce9dc5aef49b6
Author: Espen A. Kristiansen <post@espenak.net>
Date:   Tue Nov 20 01:49:53 2012 +0100

    apps.statistics...Loader: Removed all the old code.

commit 8142f3f77bceb20e729e8daa70ea2cc6d128c1f8
Author: Espen A. Kristiansen <post@espenak.net>
Date:   Tue Nov 20 01:37:58 2012 +0100

    apps.statistics...PeriodAdminLayout: Wider labeling sidepanel.

commit a190e16e001f75c9728b9501195ab0ea429ea248
Author: Espen A. Kristiansen <post@espenak.net>
Date:   Tue Nov 20 01:36:22 2012 +0100

    apps.statistics...sidebarplugin: Fixed margins.

commit ca4654c8308ccee694f5b3117970b7789fbc34ca
Author: Espen A. Kristiansen <post@espenak.net>
Date:   Tue Nov 20 01:33:02 2012 +0100

    apps.statistics...ChooseAssignmentsGrid: Defer selection.

commit 97b431a3d53dec3ff55bc78486d50a1f735b6dda
Author: Espen A. Kristiansen <post@espenak.net>
Date:   Tue Nov 20 01:16:45 2012 +0100

    apps.statistics: Made label saving work.

commit 560f26c44e9fbb83df8906826d72a5a414d8014b
Author: Espen A. Kristiansen <post@espenak.net>
Date:   Tue Nov 20 01:15:10 2012 +0100

    devilry_qualifiesforexam.rest.aggregatedperiod: Permission checks and label ids.

commit 8bef37fc9d2f9f422ce970b3aab582a324867ba5
Author: Espen A. Kristiansen <post@espenak.net>
Date:   Tue Nov 20 00:47:17 2012 +0100

    apps.statistics: Fixed OverviewOfSingleStudent.

commit cc8166ae58cae1cd7d4dce04cfbd00c29040d130
Author: Espen A. Kristiansen <post@espenak.net>
Date:   Tue Nov 20 00:02:55 2012 +0100

    apps.statistics...Loader: Made point scaling work.

commit 574e5ccf0284a78cdf7f9ea55fff68ea4802f9a1
Author: Espen A. Kristiansen <post@espenak.net>
Date:   Mon Nov 19 23:51:03 2012 +0100

    apps.statistics: Patched to use devilry_qualifiesforexam (not complete).

    It is mostly working. Point scaling does not update dynamically, student
    details are not rendering, and we have not tested all the labeling
    plugins.

commit c5de1b17c506718cc432069a1a46376084603b42
Author: Espen A. Kristiansen <post@espenak.net>
Date:   Mon Nov 19 23:49:24 2012 +0100

    devilry_qualifiesforexam...rest.aggregatedperiod: Labels.

commit 1c63dc64d6b523d5d322a2896eca1a35cd89631c
Author: Espen A. Kristiansen <post@espenak.net>
Date:   Mon Nov 19 20:34:37 2012 +0100

    devilry_qualifiesforexam...rest.aggregatedperiod: Include assignment_id for each group.

commit feb6c3ec40d92c0ad8828e019bbbb181ab595d64
Author: Espen A. Kristiansen <post@espenak.net>
Date:   Mon Nov 19 17:51:31 2012 +0100

    devilry_qualifiesforexam.rest.aggregatedperiod: Basic queries.

commit 3630b5e923aaf3b6ee16ffa20f47800fca39df07
Author: Espen A. Kristiansen <post@espenak.net>
Date:   Mon Nov 19 16:44:30 2012 +0100

    devilry_qualifiesforexam: Skeleton.