Refactor: extract logic for getting modules being built names to a closure so it can be reused.

Signed-off-by: Alvaro Fernandez <alvaro.fernandez@nortia-in.es>
Refactor: extract logic for getting modules already built names to a closure so it can be reused.
Extract the addition of modules to the Maven build status object to the object itself
Now the building status of a module is set con the object itself and the object for holding all modules statuses for a build can also handle the status of all modules by specifying the latest built module
Remove unused import
Use commons-lang3.
Check blankness of module name correctly.
Stop using the temporary list for build names' list and build status and update directly the Maven build status object.
Reduce number of loops on setting status
Reduce loops on getting status by analyzing for both new names and new statuses for each line
Now only new builds can be analyzed.
Add new interface for listeners of the build's output.
Make the gui respond to the build's output adding lines to the raw text area.
Make the build watcher (previously file watcher) respond to the build's output by updating the build's status
Now the build launcher is the controller that adds the watcher and the GUI as listeners