fix(app-builder): use middleware for catch-all functionality

Allows to use subapps in routes sections. Because
subapps are working the same way as middleware
components we can't use router to catch all -
all middleware components added after router
wouldn't work
fix(User.getGroups): use new groups api
fix(User.getRole): use new groups api