[#938] Add support for unique temporary folders.

Problem description
===================

This branch add base support for unique temporary folders.



Changes description
===================

Each TestLocalFilesystem will use a separate temp folder, based on OS temp folder.

There is a method to setup and teardown the temp foldres.

Also the TestLocalFilesystem class will keep a record of all instanciated temp folders so that at the end we can check that all folder were removed.

This branch also include other changes required by chevah.compat and chevah.server projects.

How to try and test the changes
===============================

reviewers @alibotean 

Check that changes make sense.