Docs: Clarify the CLIEngine options (#10995)
Docs: Clarify the CLIEngine options (#10995)

This aims to prevent some of the common pitfalls/points of confusion
when configuring `CLIEngine`, such as:
* it not being clear that `baseConfig` supports all of the options
  defined in the `.eslintrc.*` schema, and so can be used for options
  that are not supported as top-level `CLIEngine` arguments such as
  `extends` and `settings.
* some of the CLIEngine options being named the same or almost the
  same as their `.eslintrc.*` equivalents, but being a different
  data type.
* it not being clear that CLIEngine silently ignores invalid options
  (which will hopefully be fixed at some point by #10272).

Refs:
#4402
#5179
#6605
#7247
#7967
#10272
webpack-contrib/eslint-loader#173
webpack-contrib/eslint-loader#252
neutrinojs/neutrino#1181
eslint/eslint,platinumazure/eslint,whitneyit/eslint,pvamshi/eslint,Trott/eslint,BenoitZugmeyer/eslint,pvamshi/eslint,onurtemizkan/eslint,eslint/eslint,onurtemizkan/eslint,BenoitZugmeyer/eslint,whitneyit/eslint,Trott/eslint,Moeriki/eslint,Moeriki/eslint,platinumazure/eslint,DavidAnson/eslint,DavidAnson/eslint