Randomised list, formatted nicely
J, 9 7 bytes

Thanks to @randomra for shaving off two characters:

?~2&amp;,]


Previously I had:

?~($~2&amp;,)


These are functions, you can apply them to an argument directly or store them in a variable and then use them:

   (?~2&amp;,$]) 5
1 0 4 2 3
2 4 0 3 1
2 3 1 0 4
2 3 0 1 4
3 0 1 4 2

1 4 0 2 3
2 1 4 3 0
2 3 1 0 4
2 3 1 4 0
0 1 2 3 4

   f=.?~2&amp;,$]
   f 5
4 2 3 0 1
3 4 1 0 2
3 4 0 2 1
1 2 4 3 0
2 0 4 1 3

2 1 3 0 4
1 3 4 2 0
2 4 1 3 0
3 2 1 0 4
3 0 4 2 1