ipython/ipython — pull request #855 by minrk (2011-10-11 00:06:35+00:00)
Title: promote aliases and flags, to ensure they have priority over config files

See #849

adds `Application.flatten_flags()` method, which adjusts the alias
and flag dicts, such that they point to the subclass in the Application.classes list when passed to the argv parser.

This prevents `TerminalInteractiveShell.colors` in a config file overriding
`--colors` on the command-line, which points to `InteractiveShell.colors`.

Flattening is only done when the answer is unambiguous, so multiply inherited classes (e.g. Launchers in ipcluster) are not touched.

also removes now-obsolete manual workaround for exactly this in IPClusterStart

closes gh-849