Numerous Course Validation Script Updates

- Added support for basic auth
- Logging into LMS (instead of using auto-auth)
- Added support for multiprocessing (runtime is down to 5 minutes from 25!)
- Retrieving courses from Insights homepage
- Logging to both console and file
- Writing CSV upon process failure

@rocha @dsjen 
You can provide examples in the comments. I prefer that we raise errors if an important variable or settings is not set. I would not like to repeat the problems with had during deployment with missing settings that were only discovered after validating the pages manually.