BrowserStrategy interface/base implementation for all browser-specific functions

browsersupport-*.js can provide custom implementation for each function as need be
BrowserStrategy.sanitizeJSON

only implemented by Safari
BrowserStrategy.localStorageTest

implemented for Firefox
browsersupport-operablink.js, loads in OperaBlink after browsersupport-chrome.js
schmantics
BrowserStrategy.storageSetup: RESLoadResourceAsText, load storage setup, other misc browser-specific startup tasks
BrowserStrategy['RESInitReadyCheck']
BrowserStrategy['sendMessage']
BrowserStrategy['getOutlineProperty']
BrowserStrateg.openInNewWindow

the message ought to be renamed from keyboardNav to openInNewWindow too
missing param from 4820852
browsersupport-chrome.js doesn't need BrowserDetect.isChrome() wrapper
whoops function wrappers
missing {
fix bb94579 - make sure to call RESInit after Firefox's RESInitReadyCheck
BrowserStrategy['addURLToHistory']

i think it works.  at least in firefox, chrome, and safari.
i hope opera works.
remove commented-out cruft for update check
accountSwitcher uses BrowserStrategy.supportsThirdPartyCookies for selecting login url
BrowserStrategy.dotNotation
Merge branch 'master' into browsersupport-refactor

Conflicts:
	RES.safariextension/browsersupport-safari.js
	lib/modules/showImages.js