Use more metadata about programs and plans

* Looks at the program display request SOAP to get plan "codes"
  -- this improves fetching performance and differencing and
  produces better data.
* Grabs plan lists individually instead of as one big program
  list.
* Now gets attributes like program abbreviations and dual degrees.