Methods to provide random and weighted random ActiveRecord::Relation scopes

Add `order_by_rand` and `order_by_rand_weighted` methods that just append an order clause without applying limits or converting to an Array or single object.

Supersedes #24 and fixes #23