performance: fix TypeInfoValidator.CACHED_BINDINGS usage

WeakHashMap doesn't work here, use LRU cache based on LinkedHashMap
tests: implement new method IBuildContext.recordDependency()
ti: drop deprecated APIs
ti: some extensibility
javadocs for ITypeInferenceListener
Servoy patch

Conflicts:
	features/org.eclipse.dltk.javascript-feature/feature.xml
Local types completion
skip the local type that is exactly the prefix, because that one is
created for the prefix the users types, so not a valid type and
completing the exact thing that you type doesn't make much sense
support for functions assigned to variables and those variables are then
used to create Custom/Local types from them
Those variables should just point to the original function.