Don't ignore .project in sub-folders
Bug 413515 - Client side plugin update
Bug 413057 - Populate git amend dialog with last commit values
Bug 407546 - Local search: Provide useful tool tips on the replace field when regEx flag is on
changes to types inferred for functions

There are two key changes:
1. Allow function types to include properties, just like the type of any
other object.  So now, we can handle the following completion ('$$' is
the completion point):

function f() {}

f.p = 3;
var q = f.$$;

2. Handle the case of any function being invoked as a constructor, not
just those functions starting with a capital letter.  So now, there is
a uniform type structure for all functions.

 Signed-off-by: Manu Sridharan <msridhar@us.ibm.com>
Initial implementation if index files for library content assist.

This commit contains the following major changes:

* Removed types.js.  Previously, it contained hand-written models for
  key libraries (ecma5, the DOM, and node.js) and also utility methods
  for manipulating the types inferred by content assist.  Now, the
  utility methods are in typeUtils.js.  The hand-written models have
  been serialized as index files.

* Added support for parsing index files and using them during content
  assist.  The key file is typesFromIndexFile.js.  The main content
  assist module, esprimaJsContentAssist.js, was modified to use
  typesFromIndexFile.js instead of types.js.

* Generated index files corresponding to the previous library support
  that was in types.js.  They are in the plugins/esprima/indexFiles
  folder. The format is borrowed from that used by Tern.

* Modified esprimaJsContentAssist.js to return a promise from
  computeProposals().  This is required since content assist may now
  perform asynchronous loading of index files.  Currently, the browser
  and node.js index files are loaded asynchronously when needed.

Signed-off-by: Manu Sridharan <msridhar@us.ibm.com>