Bug 865489 - Cannot iterate Addon SDK-List with for..of

Added `iterator` method to `List` (deprecated version too), so that our SDK list (`tabs`, `browserWindows`, etc) can be iterated with `for...of`.
Replace XHR in favour of addon/window's XHR.
Corrected impl. of validateOptions from api-utils

Previously, once `mapThrew` was set to true, it
was never restored to `false`, causing keys to be missing
on subsequent keys.
Merge pull request #986 from ZER0/for-of/865489

fix Bug 865489 - Cannot iterate Addon SDK-List with for..of r=@gozala
Bug 873102 - Deprecate the addon-page module

- Added deprecation message
- Update unit test to check deprecation message
Merge pull request #1013 from ZER0/addon-page/873102

fix Bug 873102 - Deprecate the addon-page module r=@Mossop
Merge pull request #1006 from Rob--W/api-utils-validateOptions

Bug 877578 - Corrected implementation of validateOptions from api-utils r=erikvold
Bug 699450 - Exceptions are thrown when you use page-mod and tab.close()
Implement content/chrome events.
Bug 786681 - Add field to package.json to have cross domain content script
Merge pull request #579 from ochameau/bug/786681

Bug 786681 - Add field to package.json to have cross domain content scripts r=@ZER0
Merge pull request #996 from Gozala/bug/xhr@820953

Bug 820953 - Replace XHR in favour of addon/window's XHR. r=@zer0
Merge pull request #1016 from Gozala/bug/content-events@724632

Bug 724632 - Implement content/chrome events. r=@jsantell
Address review comments. Make it work on Fennec. Fix worker.tab.close
callback on desktop.
Merge pull request #1015 from ochameau/bug699450

Bug 699450 - Exceptions are thrown when you use page-mod and tab.close() r=@erikvold
Bug 850367 Page worker follows redirect, refactor match patterns for page-mods