Newly integrating classpages code into 1.3

Squashed commit of the following:

commit 313739113630daa9eac47137265ae1fd6aa5b665
Author: Scot Hacker <shacker@berkeley.edu>
Date:   Mon Jun 18 14:45:30 2012 -0700

    JS updates.

commit 47f6ec01570676b4abb44b77cf4256705f4e5608
Author: Scot Hacker <shacker@berkeley.edu>
Date:   Thu Jun 7 15:51:36 2012 -0700

    Error handling for bad URLs - all widgets now doing reasonable things when data is missing.
    Two fields in the sample JSON template have been moved.

commit ad0b8fd155c4e64850059eaf0c58ed15a56a9755
Author: Scot Hacker <shacker@berkeley.edu>
Date:   Thu Jun 7 13:36:50 2012 -0700

    Explicitly use type: GET and the data: attribute on .ajax() in all widgets.

commit 02c7ccc1ca973eba6bc742614735600addd30a0e
Author: Scot Hacker <shacker@berkeley.edu>
Date:   Wed Jun 6 17:30:13 2012 -0700

    All widgets now update themselves in response to URL hash changes.

commit a6c0c89155c75426d44bebd20db21f089e25836c
Author: Scot Hacker <shacker@berkeley.edu>
Date:   Tue Jun 5 17:25:38 2012 -0700

    Now handling changes to the hashed URL, but not yet properly reloading widget data.

commit 0958e3f81de3916cf9aa7525a6d1d52688592a7d
Author: Scot Hacker <shacker@berkeley.edu>
Date:   Tue Jun 5 16:05:23 2012 -0700

    Added temporary menu for navigating between classes during dev.
    Debugged some "Not available" info in Sections.
    Cleaned up Last Updated tag at bottom of page.

commit f1970f43435bc501f1518f277641cbbb050771a5
Author: Scot Hacker <shacker@berkeley.edu>
Date:   Mon Jun 4 16:00:45 2012 -0700

    Trigger code to check for data loaded before setting equal height divs.

commit 9f84f03bea2fcf95091d32f717a53058119046e9
Author: Scot Hacker <shacker@berkeley.edu>
Date:   Fri Jun 1 14:08:41 2012 -0700

    Modified widget js files to use new data feed.

commit 5a702d55c09f4a364edd5829ddda4d85333596b9
Author: Scot Hacker <shacker@berkeley.edu>
Date:   Thu May 31 10:46:12 2012 -0700

    Remove sakaigoodies from configs for classpage widgets.

commit 35976979220d1332a82fc3ac39fce4b5c3235158
Author: Scot Hacker <shacker@berkeley.edu>
Date:   Wed May 30 18:03:48 2012 -0700

    Moved classpages.js to dev/lib/myb.
    Now parsing URL for course ID.
    Now passing vars/objects from parent page to widgets and back.

commit db1ff963af528f2bab9186a7393818b53e2c3201
Author: Scot Hacker <shacker@berkeley.edu>
Date:   Wed May 30 12:03:53 2012 -0700

    Renamed section.instructors to section.section_instructors (John's namespace request).
    Good start on parent container page for all four widgets (added dev/class.html).

commit 8acc8b2445c346255d6038e0441cd2978eacf458
Author: Scot Hacker <shacker@berkeley.edu>
Date:   Fri May 25 17:46:23 2012 -0700

    Renamed classinstructor widget to classinstructors.
    Good start on building class pages in "static" template.

commit 4827f36fb8dcd1b26e2d2db2c7cd6f89f8ed2c55
Author: Scot Hacker <shacker@berkeley.edu>
Date:   Thu May 17 17:37:57 2012 -0700

    Rename courseid to classid in the sample json.

commit e60559ac86b83a42bbd2119a438a02da367255bc
Author: Scot Hacker <shacker@berkeley.edu>
Date:   Wed May 16 17:37:28 2012 -0700

    De-ital "Instructor name not available," italicize instructor title

commit 8befecc68dd40333f2cbf076d94f57b9ac83a38e
Author: Scot Hacker <shacker@berkeley.edu>
Date:   Wed May 16 17:25:01 2012 -0700

    Fixed horizontal alignment of table titles

commit 347a5b4c35efb816220e61493e52e841090a0e3e
Author: Scot Hacker <shacker@berkeley.edu>
Date:   Wed May 16 16:56:15 2012 -0700

    Added building coords for final and midterm locations, and conditional template handling.

commit 2e9e0ea4418272fddea68e94bcd8ff343636f1e8
Author: Scot Hacker <shacker@berkeley.edu>
Date:   Wed May 16 16:29:03 2012 -0700

    Implemented Notes alert for final and mid-term exams.

commit ad6d3e6f2452e43e192ee43b946954a9c20c1c27
Author: Scot Hacker <shacker@berkeley.edu>
Date:   Wed May 16 15:04:46 2012 -0700

    Let section row go to multiple lines if there are a lot of instructors.

commit a452325da1ad01b51dc766f74c0f82d11969b203
Author: Scot Hacker <shacker@berkeley.edu>
Date:   Wed May 16 14:40:00 2012 -0700

    One space in front of "Class" in TH (and arrows)

commit 41ec56657402fff5ee4b314e3b61a1573f7b6b4e
Author: Scot Hacker <shacker@berkeley.edu>
Date:   Wed May 16 14:27:11 2012 -0700

    Solid HRs in Sections table, remove dotted lines between sections.

commit e88e7fa5ec7ced28952c2fba09e1e7fe1e100e34
Author: Scot Hacker <shacker@berkeley.edu>
Date:   Wed May 16 14:21:37 2012 -0700

    Convert expand/collapse links into buttons, but style them as links.

commit a0a5c4a3993e3b22324c52d6136a7c4663aca29d
Author: Scot Hacker <shacker@berkeley.edu>
Date:   Tue May 15 15:28:59 2012 -0700

    Remove trailing whitespace from significant files (more)

commit 932e6028206743d23360636e60a658da6a06cea7
Author: Scot Hacker <shacker@berkeley.edu>
Date:   Tue May 15 15:25:14 2012 -0700

    Remove trailing spaces from all significant files in these widgets

commit 2ef24e80979b90beea14a7eee0443c4d75b766b3
Author: Scot Hacker <shacker@berkeley.edu>
Date:   Tue May 15 15:13:02 2012 -0700

    CSS cleanup to match best selector naming practices.

commit 42bfd61c181e87e47aca34d335b1ca3ccf613392
Author: Scot Hacker <shacker@berkeley.edu>
Date:   Tue May 15 14:42:28 2012 -0700

    One more reference to shared CSS doc.

commit 7d14cc291a961c6b7c8ddde130e82f8ad7286c7d
Author: Scot Hacker <shacker@berkeley.edu>
Date:   Tue May 15 14:40:02 2012 -0700

    Moved shared stylesheet into classinfo widget.

commit 1ba3ef408a605d76ff42c9ef701f8cfad3543dcc
Author: Scot Hacker <shacker@berkeley.edu>
Date:   Tue May 15 14:34:40 2012 -0700

    Expandos complete; Expand/Collapse All links now working in all conditions.

commit 6afc45a999b6daaaaf1482ed343430bc8d6a73fa
Author: Scot Hacker <shacker@berkeley.edu>
Date:   Fri May 11 18:02:45 2012 -0700

    Animation features for classpages almost nailed down.

commit 7eb7ba66cd0a370e7800735a3f26102f544d999c
Author: Scot Hacker <shacker@berkeley.edu>
Date:   Mon May 7 17:21:01 2012 -0700

    Added coordinates to all class sections; implemented inner class section info tables.

commit bf7091f094c7cbdd4ca2a6c98225b453935517a4
Author: Scot Hacker <shacker@berkeley.edu>
Date:   Thu May 3 16:31:55 2012 -0700

    Modify course info widget to match Allison's new specs.

commit f183fdbe78235c0b63cf42db9f9b0062ddf0f6e5
Author: Scot Hacker <shacker@berkeley.edu>
Date:   Thu May 3 15:59:44 2012 -0700

    Extended JSON sample to match changes by Jon and Allison. Widget tweaks.

commit c4ca35d7d5bcdc3c269511ed8018f8c54f7347ae
Author: Scot Hacker <shacker@berkeley.edu>
Date:   Tue May 1 10:59:29 2012 -0700

    First attempt at creating a classpage json template.

commit f86be55cf1dce5eb93463119864934d5b94b0043
Author: Scot Hacker <shacker@berkeley.edu>
Date:   Fri Apr 27 13:42:31 2012 -0700

    Removed instr_ prefex from instructor info in classpages

commit 2a2af41003e7298949c536608d210f97bebe5497
Author: Scot Hacker <shacker@berkeley.edu>
Date:   Wed Apr 25 17:53:47 2012 -0700

    Formatting fix for instructors widget when most profile data is missing

commit a6ac440b54bcd5fd170922b00bf87ed6e5e0d30c
Author: Scot Hacker <shacker@berkeley.edu>
Date:   Wed Apr 25 17:38:41 2012 -0700

    All template fields now display the right thing when data is missing

commit ef146d0c40f1cc8cc46ae754f720a04a0525604a
Author: Scot Hacker <shacker@berkeley.edu>
Date:   Wed Apr 25 16:03:48 2012 -0700

    Early draft of classpage widgets.