Include app.hidden for read authorization

If the app is hidden, then it require.app.read(app) should return False except for
the owner of the application and the admins of the site.
Use new require.app.read(app) method for hidden control
Use require.app.read(app) for checking hidden apps
Use require.app.read(app) for hidden apps
Refactor some code
Use require.app.read(app) for hidden apps
Use require.app.read(app) for hidden apps.
Refactor some code
Use require.app.read(app) for hidden apps
Use require.app.read(app) for hidden apps
Use require.app.read(app) for hidden apps
Use require.app.read(app) for hidden apps
Use require.app.read(app) for hidden apps
Use require.app.read(app) for hidden apps
Use require.app.read(app) for hidden apps
Use require.app.read(app) for hidden apps
Refactor
Refactor
Show proper 401 and 403 error pages
Fix API GET with new require.app.read(None) auth for listings