Servoy patch

Conflicts:
	features/org.eclipse.dltk.javascript-feature/feature.xml
introduce IRIValueType which is a wrapper around a IValue so that Custom
types stay IValues 
few improvements for Custom/Local types: 
getDeclaredType check in getDirectChildren
a IRIValueType now gets a ReferenceLocation to know if it is
compatible/assignable to another (by just checking if it is the same
location)
support for "scopes.myscope.MyObject" also because of the assignable
check we now know if "MyObject" in one file is the same as
"scopes.myscope.MyObject"
new refactor, just wrap the functiom IValueReference instead of the this
value
Made that a bit lazy because the FUNCTION_SCOPE doesn't have to be there
for the first time
LazyReference fix for not setting it to resolve to soon if the type is a
IRIValueType because the function collection doesn't have to be there
yet.

drop the creation of Type objects in LazyTypeReference, now always just
create IRIValueType for custom/local resolved types.

handleDeclarations can't do RModelBuilder.create(getContext(), method)
or variable just yet when initalizing just the Function or Variable.
first all Functions or Variables must be there to be able to resolve all
the types

Let SimpleType first try to resolve it and if it is then an UNKNOWN type
then only try to create a IRIValueType. Also if because of some
constructs a still a simple type is created that should have been a
IRIValueType then just test on name to be assignable

added test for the lazy stuff.
fix for IRIValueType always being an js Object (code completion already
di this)

fix for Custom/Local type constructor call parameter check

added 2 tests
Local type (@constructor) completion in jsdoc

added tests
some refactors
null check instead of instanceof