fix @Namespace annotation for code providers

Use default value parameter, specify retention and target.
fix code provider namespace retrieval

Instead of defaulting to the concrete class being used,
fall back to the declaring class of the method.
small fix to AbstractDeclarativeCodeProvider.commonProc
Abstr.Decl.CodeProvider: name generic types in reproducable manner

Naming them randomly leads to different names when called several
times. This causes problems in the interpreter.
fix interpreter for providers with namespace

When providers provide code in namespaces, the comparison
via name does not work. Instead, use EcoreUtil.equals().
BuiltinCodeProvider: move print procs to "core" namespace (see #41)
add core::re, ::im; implement stdlib::conjugate() (#41)
several type management fixes for code providers

Handle both primitive and wrapper types. Several .toSet calls
before checking for iterable size. And more.
provide GenericTypeName annotation for provided procs and funcs
fix stdlib::exp algorithm