avoid using alias in generators

Ruby's alias produces public methods, causing a spurious Thor task
to be created.  For example, this is the reason MigrationGenerator
currently has two tasks:

    > ActiveRecord::Generators::MigrationGenerator.all_tasks.keys
    => ["singular_name", "create_migration_file"]

singular_name was meant to be an attribute, not a task.  Because it's
public, it gets called as a task every time the generator is invoked.

The fix is to ensure all generator methods have the correct
visibility.
Fixes URL generation with trailing_slash: true

URL generation with trailing_slash: true was adding a trailing slash
after .:format

    Routes.draw do
      resources :bars
    end

    bars_url(trailing_slash: true, format: 'json')
      # => /bars.json/

This commit removes that extra trailing slash
Remove duplicated parameter check on #where!

It seems that #where! is not designed to be used as a chained where.
See initial implementation at 8c2c60511beaad05a218e73c4918ab89fb1804f0.
So, no need to check twice.

We should not test #where!

https://github.com/rails/rails/pull/15285#discussion_r13018316
Merge pull request #15285 from sergey-alekseev/remove-active-record-where-duplicated-condition

Remove duplicated parameter check on #where!
Future port c8ddb61
glob_param is never used, so rm

this also changes the constructor.  We don't need to pass more options
than "defaults" (whatever defaults are, ugh. probably another hash of
stupid stuff).
Merge pull request #15289 from zzak/future_port_c8ddb61

Future port c8ddb61 [ci skip]
push options decomposition up so we can extract
default value is never used, so make it required
Constraints contructor should always return a Constraints object

I know, it's crazy.
Remove special case in schema dumper for decimal without scale
Fix router visualizer CSS and JS resources
Merge pull request #15291 from francocatena/router-visualizer-fix

Fix router visualizer CSS and JS resources
Merge pull request #15290 from sgrif/sg-consolidate-zero-scale-decimal

Remove special case in schema dumper for decimal without scale
[ci skip] Improve doc for ModuleConstMissing.guess_for_anonymous
print generators on failed generate

Let's say we just ran:

```
$ rails g migrate add_click_to_issue_assignment
```

We will get an error that looks like: 

```
Could not find generator migrate.
```

This patch adds all existing migrations to the output to make it easier for a developer to find a valid migration. 

```
Could not find generator "migrate". Please select a valid generator:
Rails:
  assets
  controller
  generator
  helper
  integration_test
  mailer
  migration
  model
  resource
  scaffold
  scaffold_controller
  task
```


It would be nice to do some spelling detection and suggest alternatives, but for now this should  help.
Merge pull request #15278 from akshay-vishnoi/doc_changes

[ci skip] Improve doc for ModuleConstMissing.guess_for_anonymous
Merge pull request #15293 from schneems/schneems/generator-output-in-error

print generators on failed generate
Revert "Merge pull request #15293 from schneems/schneems/generator-output-in-error"

This reverts commit 7466d6a9f989a1a8f90899b79b34f1152e440b7c, reversing
changes made to b850c4c540e8f0c15742f67c532f521a4a123655.

This was an accidental merge. A new PR will follow.

/cc @schneems
pg, extract schema definitions into separate file.

This mirrors the layout of abstract adapter and puts the definitions
inside the `PostgreSQL` namespace (no longer under the adapter namespace).

/cc @kares