Do not allow setting an expiration date in the past

Fix #7297
Move the router classes to a namespace and expose it with a public interface
switch OC::getRouter usages to OC::$server->getRouter
adding an explicit close method to class session - write operations (set and remove) being called after close() will throw an exception
close the session on all file operations
update copyright header
close the session for all DAV calls right after authentication - no need to write to the session afterwards
fix close() implementation in \OC\Session\Internal
Merge branch 'master' into close-session-faster-master
PHPDoc updated
adding StartSessionListener which initializes the session before each test case execution
Added .ocdata file to check for data folder validity

In environments where the data folder is mount from another partition,
it is important to check that the data folder we see is actually the
real one. If the mount failed for some reasons, this fix will make
ownCloud temporarily unavailable instead of causing unpredictable
behavior.
move session reset to endTest() - necessary because we need a valid session in the next unit tests setUp() call
in case of phpunit executions calling header() and exit() is too bad
Return 503 when a config/data dir error exists
Increase version to trigger upgrade related to .ocdata
Merge pull request #7649 from owncloud/routing-public

Move routing classes to an interface and expose it in the public api
introduce reopen() method to be used for unit test execution only - right after a unit test has been executed the session will be reopened
Merge branch 'master' into close-session-faster-master
updating 3rdparty submodule