#31 replace chrome.extension with chrome.runtime where needed
#31 get permission methods working through background pages
abstract messaging to an utility method
remove need to call end() in functions that don't need to respond