Javascript: Show completion for require("../../")

Allow recursive parent directories,
but don't show ../ everywhere.
Javascript: Fix NullRef on JS string completion

Also tweak cursor movement logic, and fix
crash on use directive completion in first line.
Javascript: Fix single-quoted require() go-to-def

Fixes F12 on require('...').myFunc('...')
Merge pull request #314 from SLaks/node-module-fixes

Javascript: Node Completion Fixes
Refactored
Make Css NavigateTo cancellable

The previous implementation of CSS INavigateTo wasn't cancellable.  This
meant user searches with non-trivial names were doing a lot of
unnecessary work.  Pretty much every character typed into the search box
results in a call to StopSearch followed by StartSearch with the new
search value.  The previous implementation wasn't cancelling searches in
StopSearch and hence a lot of unnecessary work was being done on
projects with big individual files or simply a large number of CSS
files.  This change makes the search fully cancellable and removes the
unnecessary work.

It also fixes one small bug.  In the case where we didn't want to search
at all (the search string didn't start with # or .) then we still need
to call INavigateToCallback.Done.
Merge pull request #315 from jaredpar/fixes-navigate-to

Make Css NavigateTo cancellable
Cleanup: Code formatting.
Helpers: Don't choke on unloaded projects
Merge pull request #313 from am11/master

Cleanup: Code formatting.
Merge pull request #317 from SLaks/project-fixes

Helpers: Don't choke on unloaded projects
Markdown: Shift block boundaries as text changes

Use Artifacts from the ArtifactCollection
instead of static ITextRanges for block
boundaries, so they will be shifted
appropriately.

This is also why HTML code block
highlighting is inconsistent; since
the CodeLineArtifacts aren't in the
collection, they don't get expanded.

Fixes issue in #294
Markdown: Fix HTML code block highlight expansion

Forward ReflectTextChange() calls to
extradited CodeLineArtifacts from
HTML code blocks
Merge pull request #321 from SLaks/markdown-parser-fixes

Markdown: Shift block boundaries as text changes