Adding documentation to +polymorphic_url+
concerning the options that it inherits from +url_for+. The way that
+polymorhpic_url+ is built allows it to have options
like +:anchor+, +:script_name+, etc. but this is currently not
documented.
Raising an error when nil or non-hash is passed to update_attributes.
Creating options for schema dumper.

These options make it easier to change the config from
ActiveRecord::Base to use something else inside of the SchemaDumper.
Small refactoring changes to generators.

Made a method name clearer (added a bang to the end to show that it
mutates arguments) and extracted indentation into its own method.
exposing target records on the preloader
do not access internal data structures
generate fewer objects when grouping
extract exception raising, clean up group_by statement
just read the attribute rather than `send`ing
lhs preload is always a single preload, so just preload one
stop depending on preloader interals so we can create fewer preloader
objects
the hash should only ever be length one, so decompose it
push `run` up to preload
push running the preloaders up
access preloaders independently of model mutations
fix method name
split up construction and mutation
preserve order on the RHS query
return a list rather than hash
combine methods so we can reuse preloaders