[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
`livedev.impl` should be defined as module constant instead of using literal all the time.