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`.
copy-editing panel position doc
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.
Bug 874554:
- adding a test for opening a new non-private window when there is only a private window open
- newly opened windows use a non-private flag by default now
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
Expose web-socket API.
Merge pull request #1016 from Gozala/bug/content-events@724632

Bug 724632 - Implement content/chrome events. r=@jsantell
Bug 866532: expose prePath property on URL instances and making URL properties writable

Conflicts:
	lib/sdk/url.js
	test/test-url.js
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 876907: adding a test for the tabs.open with onOpen and inNewWindow options combination