Messages API implementation

The implementation of https://github.com/atom/atom/issues/4228

To have the message views as a package, this requires us to export the `Message` class. 

TODO: 

* [ ] Fill out the issue body, including version information similar to bug-report
* [ ] Parse stack trace and figure out in which package an error happened
* [ ] Provide a timestamp
Yeah this and `addMessage` will be private. Though they could be one method. I like `add`. Maybe 'log'. I dislike 'present' and 'display' for some reason. Present feels to formal. And display might not be display if there is no messages package hooked up