Some fixes for Course and GenericSet

Define __len__ for GenericSet.
In Courses, override the init function in the correct way (by
calling the init function of the parent class GenericSet).
In Courses, define a property "files" which is a nicer name
for the "elements" instance attribute.
Use the Courses class in "User" instead of list
Update available courses avoids adding BeeP channel
Don't require a real account to test with behave

Tests should not rely on an actual connection, or on a real account.
Only scenarios tagged with "require_login" will get a User instance
in the scenario context, already logged in.

In order to run such tests, a real account is needed. If you have one,
you can test them by invoking behave like this

$ USERCODE=yourusercode PASSWORD=yourpassword\
behave --tags=require_login

Of course, you need to replace "yourusercode" and "yourpassword" with,
guess what, your real usercode and password. Please note that shells
usually record the typed commands and make them available through the
"history" command.
Move sphinx conf.py back to original folder

...and create script to build documentation
Automatic documentation for polibeepsync package
Function to sync courses, with tests
Better documentation and few PEP-8 corrections