Initial implementation of 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>