Add setActiveTemplate helper
Close the template

Menu.buildFromTemplate modifies it so copy before hand
so it can be reused
Store each window's menu template

Restore it when the window gains focus
Compare templates before swapping them out
:memo: Add template
Merge pull request #3906 from atom/ks-change-menu-on-focus

Swap out application menus on focus
Cache package metadata in main package.json file
Use proper relative paths in cache
Use _atomPackage key from main metadata
Only use cache for bundled packages
:lipstick:
Don't pretty print package.json

It is now ~400k pretty printed and ~300k without
Update task description
Remove inlined files from app directory
Use absolute keymap/menu paths
Remove unused properties from metadata

Saves another ~50k
Build path manually