[perms] start implementing Perm<T>
- improve extension methods
- add Intersects methods for IEnum and IPerm
[test] imporve the TestPerm function