Add semantic analyse of interfaces and interface references
Minor fixes

 - prevent from infinite loop when there is cyclic components dependency
 - increase java memory stack size
Fix handling location of function parameter scope
Generate sources and javadoc artifacts
Set environment's start location and type when it is created

Some syntax errors (which usually may appear when the source file is
being edited and the newly typed text is not finished [hence not correct]
yet) result in erroneous parsing of the entire function or component,
therefore the corresponding environment may not have assigned proper
end location and/or scope type, which are crucial things to provide
content assist in Eclipse plugin.
Distinguish task from plain function
Do basic semantic analysis of nesc entities simultaneously with parsing

Many of ast nodes could be lost due to syntax errors (even the entire
tree), so we need to analyse them as soon as possible (i.e. during
parsing).