Data.List: add permutations

与えられたリスト要素の順列を返すpermutationsを追加しました。
引数ありとなしでテスト分けた方が良いかも。そうすれば引数省略した場合の挙動をテストで説明できるので。