load extensions only after the ui object has been completely initialized
This fixes a traceback printed when hg tries to print another traceback
after an extension fails to be loaded. Add a test for that.
abort: repository a not found!
255
abort: error: Connection refused
255
abort: repository a not found!
255
abort: destination '../a' already exists
255
abort: repository a not found!
255
abort: destination 'q' already exists