An application for IPython.
All top-level applications should use the classes in this module for handling configuration and creating configurables.
The job of an Application is to create the master configuration object and then create the configurable objects, passing the config to them.
this is sys.excepthook after init_crashhandler
set self.verbose_crash=True to use our full crashhandler, instead of a regular traceback with a short message (crash_handler_lite)
[optionally] copy default config files into profile dir.
Create a crash handler, typically setting sys.excepthook to it.
initialize the profile dir
Load the config file.
By default, errors in loading config are handled, and a warning printed on screen. For testing, the suppress_errors option is set to False, so errors will make tests fail.
auto generate default config file, and stage it into the profile.