Support specifying a Random so you can get deterministic output

I'm relatively new to Ruby, so if anything looks off, please let me know.

This adds support for doing something like:

```ruby
Faker::Config.random = Random.new(100)
```

... where you give a seeded Random to Faker to use so that the generated output is deterministic.

The Array#sample backport likely needs to support this too, but I don't know enough about older Ruby to know what to do there.

No expectation that this is merged, just thought I'd share. =)