README: Make longer the troubleshooting descriptions.
README: Fix typos and spurious asterisk.
README: Use subsub... sections to reorganize the document.

We also stop mentioning saas-class.org, as they have moved to edX, which our
script doesn't support.
Use the relative import syntax

This also means that the script has to be run as a package. Hence, we
replace the coursers-dl symlink with a executable script that uses
coursera_dl.main.
Add six dependency

Python 2 and 3 Compatibility Library
Renamed modules compatibility
Use UTF-8 encoding
Escape backslash

Otherwise, we have the following error:
SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes
in position 845-846: truncated \UXXXXXXXX escape

http://stackoverflow.com/questions/1347791/unicode-error-unicodeescape-c
odec-cant-decode-bytes-cannot-open-text-file
Make tests independent of cookies order
Use six.iteritems

This way we always use iterators instead of lists
Use html5lib version 1.0b2

0.95 is not compatible with Python 3
Update README
Update travis config
Merge pull request #159 from jonasdt/six

Merge Jonas's work for dual compatibility with Python 2 and 3, via the `six`
module, similar to (but better than) my work in the `python3-experimental`
branch.

This closes #103.
Refactor test_parsing

Add assert_parse and remove global variables.
Fix downloading multiple resources with the same format

The resources of a lecture were stored in a dictionary, indexed by
their format. This meant that if a lecture contains more than one
resource with the same format (e.g. multiple pdf files), only the last
one gets downloaded. This commit fixes this problem.
We add the title of the resource to the filename of the downloaded
resource. However, for backward compatibility, we only do this for the
resources that we did not download because of the bug.
Merge pull request #160 from jonasdt/fix_resources

More sweetness from Jonas:

Fix downloading when multiple resources of a kind (say, PDFs and annotated PDFs)
are present in lectures.

This closes #65 and #72.
test: parsing: Use more descriptive variable names.

This way, I don't get nuts when I am reading the code some months from now.
test: parsing: Use Python's contexts for opening files.

This avoids resource leaks (open files).