Switch js code hinting to be powered by tern.

This pull request switches the js code hinting to use tern (http://ternjs.net).  The hints are now based on tern's type inference library.  When a type can be inferred, the hints are based on that type, and when a type can't be inferrred then the hinting falls back to guessing.  In addition to type inference, types can also be determined based on jsdoc annotations, and an understanding of what types are exposed from requirejs modules.

This also adds hinting for function types (can display the types of the arguments of the function being called),  and support for a jump to definition feature.  

For more details, see 
https://github.com/adobe-research/brackets/wiki/JavaScript-Code-Intelligence-Investigation