Split the modelbuilder into 3 parts in order to isolate the loader.
Improve nitls to be more useful:
* colored output (unless -p or --no--color is used)
* show synopsis of modules and groups (unless -p is used)
* show dependencies (if -d is used)
* works with `.` by default
* can see all the module of a group
* different behavior when given a module, a group, or a directory containing modules (like lib/ or contrib/)
* -r and -d can be used together
* the alpha-sorting if fixed
Pull-Request: #972
Reviewed-by: Alexandre Terrasa <alexandre@moz-code.org>