OEC-358, add secondary section cross-listings query

'rake oec:courses' output was missing secondary cross-listings external to the OEC dept set. This commit adds 'get_secondary_cross_listings' query and reusable SQL fragment.
@johncrossman and I discussed this in person. The spec file acts as both a setter of expectations and as an initializer for the mocked query. The expectations are uppercase; the mocked query is lowercase. This didn't produce a problem until the running code had a reference to the mocked query. 

I think the best solution is to build the hash with all uppercase keys, then make a new hash that's a copy of the old hash but with lowercased keys. Adding a new method to our HashConverter class (HashConverter#lowercase) might make sense here.