Bug 804935 - TypeError: window.tabs is undefined

It was a regression during fennec implementation of windows and tabs. A `ChromeWindow` was used instead of the expected `BrowserWindow`.
Output custom logging during automated tests.
Properly clean up after tests.
Fix console in content-worker API.
adding a test for disposables that unloading one loader does not affect the other
fix for bug #795490 - panel.contentURL change doesn't swap out the visible page in a panel
create new branch for low-level api cleanup
set a default log level ('error' for users; 'info' for developers using cfx run) while respecting addon-specific and SDK-wide levels set in prefs
update the log level when the log level prefs change
make tests work again
add log level tests; add 'all', 'off' levels; make 'warn' message prefix consistent with warn() method and 'warn' log level
be robust against future changes to the addon log level pref
factor out references to require("sdk/self").name
factor out redundant test code
surround ternary operations with parentheses to ensure they are evaluated before their enclosing expressions
reset prefs before each test so test output prints to console
correct the name of the SDK log level pref that is specified when calling 'cfx run'
work on content pages
work on content pages
more work on 'content'