Atom Shell

Figured I'd turn Chris's work into a PR so we can all discuss what needs doing and make changes. Feel free to edit this with new tasks.

- [ ] Sort out inconsistencies with quitting (Atom, at least on OS X, distinguishes between closing windows and quitting).
- [ ] Windows Testing
- [ ] Linux Testing
- [ ] Packaging Build Step