Fix module subdirectory resolution

Includes test case

Node.js' test cases aren't comprehensive enough.
Add half-written full recursive Node provider
Add missing test files

Suppress over-eager gitignore
Allow spaces in require() calls
Finish recursive module parsing

Includes passing unit tests.
Substantially improve string completion launching

The caret will now jump to the end of the function call if applicable.
Pressing / will re-open completions (for nested require() paths).
Typing a closing quote will commit completion.
Quotes and slashes  will not duplicate on commit & keypress.
Ctrl+Backspace & Delete will trigger completion.
Reduce nesting
Fix EOD crash
Improved result quality and accuracy
Resolved #100
Horrible ugly hack to register after JSLS :sob:

Ctrl+Space now works in string literals
Only activate JS CommandFilter inside strings

This prevents it from interfering with general IntelliSense behavior.

Should the completion sources should run the same check?
Fixed Code Analysis warning
Removed reflection code
Improved Best Practices BL extension
Added FindAllReferences for HTML class names
Cleanup
Resolved #101
Fixed issue with orphaned files
Resolved #43