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.