Allow to set same mode as existing if load fails.
Allow to set same mode as existing if load fails.

Setting the mode many times in a row, would fail to actually set the
mode if it was failing to load the mode the first time.

The prevent the above behavior by falling back **explicitly** to 'null'
if mode does not exist yet, or can't be loaded.

Also, don't set to null mode if mode have changed
Or if kernel.js have changed the mode, we re-set it to null...

ipython/ipython,ipython/ipython