Adds an option for specifying the Schema class name.

Updates _getSchema() and _updateSchema() to use a new _getSchemaClassName() method, which merges existing behavior for plugins with a new default for base Cake applications.

Most importantly, `Config/Schema/schema.php` files will now be generated using `AppSchema` as the default class name instead of `APP_DIR . 'Schema'`.
Improved logic for schema class name detection.
Fixes Schema/app.php issue.

The SchemaShell has two possible arguments: `--name` and `--file`. If you only specify `--name` (as this PR does), then the `--file` param is automatically set to match. This means you''ll end up with a `Config/Schema/app.php` file instead of `Config/Schema/schema.php as expected.

This PR should be safe to apply once cakephp/cakephp#4230 is merged and available in a production release of the core.
Merge branch 'bug/schema-naming' of https://github.com/beporter/migrations into beporter-bug/schema-naming
Merge branch 'beporter-bug/schema-naming' into develop