Let Travis also execute "skipped" tests

Several test suites use the 'unittest.skip' decorator to allow
students to progressively implement features in their solutions.
So far, Travis, too, skipped the decorated test cases, with the result
that these went entirely untested.

This commit fixes this in two steps:
1. The Travis test script will now set the environment variable
   'NO_SKIP'.
2. The unittest.skip decorator is replaced by the unittest.skipUnless
   decorator that will skip tests as usual, unless 'NO_SKIP' is set.