Allow example groups to have user specified ordering

This is an attempt to fix #636.

This is super prototypical, but it seems to work. Basically on both example groups and examples users can pass in a `:order` option which is used when we shuffle the examples. Basically everything else gets a random number in the range (0...examples.length), but if these orders are specified consistently then those examples will always be ordered relative to each other because the list is sorted.

Take a gander, let me know what you think.