Added generation options: min_rid_length and UUID generation.

When dealing with enormous tables, checking for existence after generating can have a real performance penalty. Generating UUIDs means checking is not necessary.
Also, in some circumstances, someone might want to generate longer RIDs than 5 characters.

Added both configuration options which can be specified globally in a config, or at the model level.
The idea for global configuration is to have easy to use, easy to type RIDs in development, but long RIDs or UUIDs in production.
The idea for the model override is that some models may need these options, but for the rest the default is just fine.
Tests: For some reason, without this "require" UtilTests weren't running. Not sure if this is necessary or not, if not, just ignore