[!!!][BUGFIX] Fix session handling in functional tests
Sessions were kept across test boundaries which had bad
side effects on, for example, authentication: previously
authenticated roles where still active during the following
Test under certain circumstances.
This patch makes sure that sessions are destroyed after
each functional test.
It also introduces a previously missing parameter into the
destroy() method signature of the SessionInterface. If you
implemented your own session handler, you need to adjust the
destroy() method accordingly.