requirements: Loosen the versions of the packages.

Some of the versions that we had fixed in the `requirements.txt` file are
old (see Issue #247) and they should serve only as a baseline for what `pip`
installs.

Furthermore, we should also keep an eye on how newer versions of our
dependencies work (via the automated tests), so as to assist our users
better.
Update login request to meet new requirements
Handle file size 0 when calculating percentages

Return percentage done as 100% when file size is 0 (to prevent division
by zero exception from being thrown)
Merge pull request #253 from ERufian/master

Handle file size 0 when calculating percentages
coursera: Only run with a new enough requests library.
Merge remote-tracking branch 'upstream/master'