OEC-42 Squashed commit of the following:

This actually relates to several OEC JIRAs:
https://jira.media.berkeley.edu/jira/browse/OEC-42
https://jira.media.berkeley.edu/jira/browse/OEC-68
https://jira.media.berkeley.edu/jira/browse/OEC-79
https://jira.media.berkeley.edu/jira/browse/OEC-81
https://jira.media.berkeley.edu/jira/browse/OEC-84

commit 175679778cd31ac0889486383e0607cb7eb505b5
Author: Chris Tweney <chris@media.berkeley.edu>
Date:   Thu Nov 7 10:25:29 2013 -0800

    OEC-42 Cleanup in prep for pull request

commit 9717b948e5482811e95c43875f6a2cccaaf93b47
Author: Chris Tweney <chris@media.berkeley.edu>
Date:   Thu Nov 7 10:20:15 2013 -0800

    OEC-42 Use calcentral_* views instead of bspace_* views

commit 1f19275a5b09fd3f0fe51678903c04015014c819
Merge: e843b1b 0a51538
Author: Chris Tweney <chris@media.berkeley.edu>
Date:   Thu Nov 7 10:13:19 2013 -0800

    Merge remote-tracking branch 'ets/master' into oec-42

    * ets/master: (86 commits)
      CANVAS-265, small pull request to move images to dev so that I can test against them as I develop
      CLC-2657 Clean up whitespace and remove commented-out portions
      CLC-2657 Document spork usage
      CLC-2228 Use calcentral_* views instead of bspace_* views
      CLC-2672 sakai_realm_rl_gr.active is a char, so query it as such
      CLC-2661 Handle null due_dates
      CLC-2789 Do not include canceled sections in instructing or enrolled lists
      CLC-2661 Sort Google tasks before filtering them
      CLC-2671 Improve performance of Oracle db queries
      NOJIRA fix numbering
      NOJIRA Update doc with postgres and X fixes for Mtn Lion
      CLC-2612 Avoid memory corruption & thread proliferation on production servers … by disabling non-thread-safe test support libraries
      CLC-2657 Use spork to run tests faster
      NOJIRA - fix the margin on the CFV right widget
      CLC-2785 - CFV - Add the dpp column https://jira.media.berkeley.edu/jira/browse/CLC-2785
      CLC-2775 - To Do section spacing https://jira.media.berkeley.edu/jira/browse/CLC-2775
      CLC-2768 - CFV - Semester select doesn't persist when All is selected https://jira.media.berkeley.edu/jira/browse/CLC-2768
      CLC-2770 - CFV Testing: semester filter shows summer coming before spring https://jira.media.berkeley.edu/jira/browse/CLC-2770
      CLC-2750 - CFV Testing: transaction search has some quirks https://jira.media.berkeley.edu/jira/browse/CLC-2750
      CLC-2522 Update default vals to current recommended config
      ...

    Conflicts:
    	lib/campusdb/campus_data.rb

commit e843b1b1593abbe9c626225ab50783c7a3a64cac
Author: Chris Tweney <chris@media.berkeley.edu>
Date:   Tue Nov 5 15:01:09 2013 -0800

    OEC-84 Combine GSI suffixed courses into main export

commit 989ab1385d8528298ab75914746efdd5277ff50b
Author: Chris Tweney <chris@media.berkeley.edu>
Date:   Mon Nov 4 15:30:01 2013 -0800

    OEC-81 Don't include dept filters in dependent queries

commit 6e46b9fe3bd1e1962468a735e2fc4af862a5369c
Author: Chris Tweney <chris@media.berkeley.edu>
Date:   Mon Nov 4 15:05:35 2013 -0800

    OEC-79 Only include suffixed files in suffix-aware export

commit 1fce4a9d3746f02a9e95e119c78a46d08f1a9938
Author: Chris Tweney <chris@media.berkeley.edu>
Date:   Mon Nov 4 14:35:28 2013 -0800

    OEC-79 Export course IDs with suffixes if they are present in courses input file

commit 4bac48bc66abbfee1a8a192c30e94a88152e6629
Author: Chris Tweney <chris@media.berkeley.edu>
Date:   Wed Oct 23 13:35:27 2013 -0700

    OEC-42 Finish 2-step export/import process; document rake tasks

commit bfb9be05e1ece00e04f5aef450ad1c3d123b07d1
Author: Chris Tweney <chris@media.berkeley.edu>
Date:   Wed Oct 23 10:22:23 2013 -0700

    OEC-42 Extract course-file reader into its own class

commit fe4426f1111e9f4a1b87964966f18be2491fb720
Author: Chris Tweney <chris@media.berkeley.edu>
Date:   Tue Oct 22 16:26:45 2013 -0700

    OEC-42 New Student export based on reading CCNs from exported course file

commit 6fdbeff75e36d8a0bf8b0a56c14f473063145750
Author: Chris Tweney <chris@media.berkeley.edu>
Date:   Fri Oct 18 16:17:04 2013 -0700

    OEC-42 Filter out courses with no enrollments, more intelligently

commit 098015ddaa3baeec5cf1e26e8152c50846e8dbad
Author: Chris Tweney <chris@media.berkeley.edu>
Date:   Fri Oct 18 15:58:03 2013 -0700

    Revert "OEC-42 Don't include cancelled courses in output"

    This reverts commit 013b8da18a30845ab132a200c025df92e6e32885.

commit 013b8da18a30845ab132a200c025df92e6e32885
Author: Chris Tweney <chris@media.berkeley.edu>
Date:   Fri Oct 18 10:40:43 2013 -0700

    OEC-42 Don't include cancelled courses in output

commit 365979d8562155f7a750fcaa4f88531ac8a299f6
Author: Chris Tweney <chris@media.berkeley.edu>
Date:   Wed Oct 16 16:24:58 2013 -0700

    OEC-42 Add instructor_func to course instructors CSV

commit bd7a53831f149f24b154461c50e4d9a104a833bc
Author: Chris Tweney <chris@media.berkeley.edu>
Date:   Wed Oct 16 15:57:14 2013 -0700

    OEC-42 Include crosslisted courses even outside of our pilot department set

commit 2628711577b9809e2db2f8d762e9cbed36d0851b
Merge: e7531b2 03909eb
Author: Chris Tweney <chris@media.berkeley.edu>
Date:   Wed Oct 16 15:03:42 2013 -0700

    Merge remote branch 'ets/master' into oec-42

    * ets/master: (70 commits)
      CLC-2533 - Chinese 10A showing "extra" vertical bars https://jira.media.berkeley.edu/jira/browse/CLC-2533
      [CLC-2669] Tele-BEARS appointment information is not properly aligned
      Another indent fix
      indent fix
      Another markdown whitespace try
      Try to get live update doc formatting right
      Fix numbering
      Fix whitespace in readme
      CLC-2679 Make HotPlate use message-based warmup code; fix cache_store init code
      CLC-2693 - Redirect to logout page on 401 on /api/my/updated_feeds https://jira.media.berkeley.edu/jira/browse/CLC-2693
      CLC-2688 - Time no longer align in What's Next https://jira.media.berkeley.edu/jira/browse/CLC-2688
      CLC-2687 - Tele-BEARS: adviser code "C" description has a typo https://jira.media.berkeley.edu/jira/browse/CLC-2687
      CLC-2643 - CFV Testing: Should "Pay Now" button appear if the account has a zero or negative balance? https://jira.media.berkeley.edu/jira/browse/CLC-2643
      CLC-2648 - CFV Testing: $ Paid Out is confusing https://jira.media.berkeley.edu/jira/browse/CLC-2648
      CLC-2700 - CFV "Account balance" tab should only show open transactions https://jira.media.berkeley.edu/jira/browse/CLC-2700
      CLC-2681 - CFV - "All" should include payments https://jira.media.berkeley.edu/jira/browse/CLC-2681
      CLC-2674 - Add bConnected to the Live updates https://jira.media.berkeley.edu/jira/browse/CLC-2674
      CLC-2641 - CFV Testing: Transaction History term filter options are not ordered logically https://jira.media.berkeley.edu/jira/browse/CLC-2641
      CLC-2605 Don't be noisy on 404 errors from CFV
      CLC-2683 Return nil instead of silly hash when user is not a student
      ...

    Conflicts:
    	lib/canvas/canvas_maintenance.rb
    	lib/canvas/canvas_refresh_from_campus.rb

commit e7531b241a29a7652cd4b72233f4f9eb524f94dd
Author: Chris Tweney <chris@media.berkeley.edu>
Date:   Thu Oct 3 16:32:15 2013 -0700

    OEC-42 Improve test coverage

commit 9665771fe64bf5fcf2521e75b0d9b7e9a69370fe
Author: Chris Tweney <chris@media.berkeley.edu>
Date:   Thu Oct 3 16:06:15 2013 -0700

    OEC-42 Implement the get-all-courses query, with crosslist logic

commit a310164224143fd973976f8a4dcb9c9dc9c50fc8
Author: Chris Tweney <chris@media.berkeley.edu>
Date:   Thu Oct 3 14:33:08 2013 -0700

    OEC-42 Correct query implementation

commit a962e7935f8ebc98c62cf5ce1652818aa119bdf9
Author: Chris Tweney <chris@media.berkeley.edu>
Date:   Thu Oct 3 13:03:37 2013 -0700

    OEC-42 Flesh out get-students query

commit 9e48977c1eb823309ae59aea3069737fae147128
Author: Chris Tweney <chris@media.berkeley.edu>
Date:   Thu Oct 3 12:20:33 2013 -0700

    OEC-42 Create OEC export rake task; flesh out instructors query with term and department configurable

commit 892da03fa7eded89d3ca884425367e6c345753d2
Author: Chris Tweney <chris@media.berkeley.edu>
Date:   Thu Oct 3 10:30:53 2013 -0700

    OEC-42 Give OEC code its own data class

commit 84a351428bcdc6debe1d0f5b2b5b8902eeecffd3
Author: Chris Tweney <chris@media.berkeley.edu>
Date:   Thu Oct 3 10:22:25 2013 -0700

    OEC-42 Implement course_instructors and course_students exporters

commit 6dd753a21af045a562aa1027534bdf9cd3cb8336
Author: Chris Tweney <chris@media.berkeley.edu>
Date:   Thu Oct 3 10:08:06 2013 -0700

    OEC-42 Courses exporter, plus more refactoring to share code

commit 0c1bcd348a3c71801803963a78ca2feef965e337
Author: Chris Tweney <chris@media.berkeley.edu>
Date:   Wed Oct 2 15:37:33 2013 -0700

    OEC-42 Add instructors export, refactor to share some code

commit 6dba20870ee8e90ffa158724d61f61bdf49e7e4b
Author: Chris Tweney <chris@media.berkeley.edu>
Date:   Wed Oct 2 14:59:47 2013 -0700

    OEC-42 First commit, with student CSV exporter and unit test