experimental: bring interactive back and throw when context is not ready

looking at the code in certain apps (e.g. system/js/identity.js), interactive
could lead to undesired results.  these apps check mozL10n.readyState instead
relying on mozL10n.ready().  The initialize if readyState is complete OR
interactive, which sounds wrong tbh.  Interestingly, in webl10n, interactive
is set only for a split second, and always synchronously, and they it goes
back to 'loading'.

I'm going back to throwing exceptions, too.  I can see a 'Context not ready'
error in the system app;  I'm not sure where it comes from.  It looks like
maybe some get or ready is called too early.  Despite the error, things appear
to be working correctly.