[browser defs] Add querySelector[All] to Document prototype

Closes #347
Add isKeyword property to keyword completions to make them easier to recognize

Issue proofit404/company-tern#10
Add isProperty field to completion results

Issue proofit404/company-tern#11
[node plugin] Fix type of setImmediate

Closes #345
Fix typo in comment
Don't use 'self' in module loader shims

It is browser-specific, and people might also want to
load the primitive way outside of browser.

Closes #363
[emacs mode] Suppress url-callback-function during error

Issue #350
Mention tern_for_gedit

Issue #364
Use require.resolve to find plugins in condense.

This makes the bin/condense behavior loading plugins match the bin/tern
behavior, allowing the loading of installed third-party plugins.
Pass distDir to plugin initialize() if present.

This solves the problem of loading Tern modules from plugins outside of the
Tern distribution. Without this change, a plugin does not know where the
Tern distribution loading it is, and attempts to require Tern modules can
either fail or load from the wrong Tern installation (thus failing to
register with the actual running server).

Update the documentation to reflect this change.
Also call plugin.initialize from bin/condense

Issue #365
Issue #351
Fix calls to parentDepth in tern.js.

None of the calls to parentDepth passed the server object, meaning parentDepth
always returned 0.

This meant that file parents were not updated as requests from new files came
in, causing a problem for minimal requirements loading in the Closure plugin
(google/tern-closure#22).