Reorganize code layout

* Move CodeContext creation into its own build step
* Move language validation to its own function
* Finish extracting lang, codeContext
* Simplify line based path
* Separate line and file/selection runs
* Simplify code context selection
Merge pull request #1 from rgbkrk/move_code_context_creation

Move code context creation