#12 Handle ceylon executable at execute function level

Remove ceylon executable from commands built by:
 - compileCommand
 - compileJsCommand
 - docCommand
 - runCommand
 - runJsCommand

It will be added by execute function
Document ceylonExecutable attribute
#12 Add CeylonTool dependencies
#12 Support for commands execution via CeylonTool

Add switch in execute function to use CeylonTool if no
given ceylon executable is provided
#12 Change default ceylon command execution mode

Executes ceylon commands by default using CeylonTool instead of
running them in a new process.
#12 Force runModule task to be launched in a new JVM

As using several call to runModule in the same JVM would cause memory leaks, force ceylon run command to be launched in a new JVM.

Other commands (compile, compile-js, doc and run-js) are not affected by this problem.
Replace Type[] occurences by [Type*]
Modify build function to be a wrapper around runEngine function
#23 Remove shared annotation for analyzeDependencyCycles function and for Dependency class
#23 Remove shared annotation for filterArgumentsForGoal function
#23 Remove shared annotation for runGoals function
#23 Remove shared annotation for findDuplicateGoals function
#23 Remove shared annotation for invalidGoalsName and invalidGoalName functions
#23 Remove shared annotation for mergeGoalSetsWithGoals function
#23 Introduce an EngineResult object giving details about goals execution
#23 Remove shared annotation for buildGoalExecutionList and findGoalsToExecute functions
#23 Remove shared annotation for linearize function
#23 Remove shared annotation for reduce function
Remove unsued test functions
Add missing documentation of shared elements