UF-131/UF-135: using some level of indirection in order to avoid direct dependency of web libs into uberfire-io module

This is a re-do of the merge of commit 4356eb95d398d2dab9cb79e0cc1b4a6eb41b39c5, this time preserving
the changes that separate uberfire-io and uberfire-nio2-backport from the rest of the framework.

Conflicts:
	uberfire-backend/uberfire-backend-server/src/main/java/org/uberfire/backend/server/security/IOServiceSecuritySetup.java
	uberfire-nio2-backport/uberfire-nio2-impls/uberfire-nio2-jgit/src/main/java/org/uberfire/java/nio/fs/jgit/JGitFileSystemProvider.java
	uberfire-nio2-backport/uberfire-nio2-impls/uberfire-nio2-jgit/src/main/java/org/uberfire/java/nio/fs/jgit/daemon/ssh/BaseGitCommand.java
	uberfire-nio2-backport/uberfire-nio2-impls/uberfire-nio2-jgit/src/main/java/org/uberfire/java/nio/fs/jgit/daemon/ssh/GitReceiveCommand.java
	uberfire-nio2-backport/uberfire-nio2-impls/uberfire-nio2-jgit/src/main/java/org/uberfire/java/nio/fs/jgit/daemon/ssh/GitSSHService.java
	uberfire-nio2-backport/uberfire-nio2-impls/uberfire-nio2-jgit/src/main/java/org/uberfire/java/nio/fs/jgit/daemon/ssh/GitUploadCommand.java
	uberfire-nio2-backport/uberfire-nio2-model/src/main/java/org/uberfire/java/nio/security/SecurityAware.java