Port API tests in module test_permission

Subsume module `test_permission` into module `test_permission_v2`. Make the
relevant tests use the new API testing tools, not the old API testing tools.

Fix #1447.
`self.user` does not have the ability to read anything, so that's why the admin user is used. Same for several other tests.