Added support for selecting term and courses

I'm so happy this crap works now! :) Anyways, this commit
includes:
 * Abstraction of request's get
 * Cleaner MgSession flow with the above Abstraction
 * The ability to search for courses on Minerva with
   MgSession.getCourses({ dep: '', number: '', season: '', year: '' })