Runner improvements

This Pull request is an attempt to fix issues #46 and #48.
Both issues seem to be fixed. However, there is a deeper problem related to 48 which is the fact that the ceylon class PhaseUnits, used to parse new units, expects to parse modules in a certain order, starting from the source directory... therefore, the only way to correctly parse a new compilation unit is by re-parsing everything starting from the source directory (this is the current solution).

It may be possible to inject a different ModuleManager into PhaseUnits which changes the way it finds out about the current module and current package.