[Review Only] Landing livedev2 in core 

@busykai, please review this PR instead of #2. I have excluded dependencies from NodeSocketTrasnportDomain when integrating livedev2 files which makes that commit able to be reviewed now. 

This is an initial review to prepare landing of livedev2 in Brackets core as per njx/brackets-livedev2#24
Actually, exposing variables wouldn't work. We need anonymous functions for testing unless there's a need for them within the module itself.