Refactor JWT generation to reduce code duplication (bug 979551)

- Split JWT creation and testing into their own modules
- Create 'product' abstraction layer
- Single JWT producing code, conencts to webapp and inapp through product interface layer
Merge pull request #1878 from JaredKerim-Mozilla/979551

Refactor JWT generation to reduce code duplication (bug 979551)
update version number for shockwave; bug 983047
defer loading of persona include.js (bug 983556)
slim down content ratings api responses (bug 982991)
Merge pull request #1871 from ngokevin/iarcopt

slim down content ratings api responses (bug 982991)
bump(django-pymemcache): 333882b689d33df6a9c3a091616ec8e4fdb3b3f4
fix typos; thanks Besnik_b
 Tests failing on Zamboni: AttributeError: 'module' object has no attribute 'make_ext_id' (bug 986149)

 - Update reference to new external_id interface
Merge pull request #1881 from JaredKerim-Mozilla/986149

 Tests failing on Zamboni: AttributeError: 'module' object has no attrib...
don't save files in comm tests
fix iarc constant test
Crop the jetpack_version (sdkVersion) received from harness-options.json (bug 986221)
Merge pull request #1883 from magopian/986221-jetpack-dev-version

Crop the jetpack_version (sdkVersion) received from harness-options.json (bug 986221)
Changed device types to platforms and form factors

Bugs 969242, 969243, 978150, 978160, 978210