[ALOY-620] another way of speeding up alloy compilation

The PR #592 proposes changes to the alloy compilation process to try to improve the compilation times. This PR follows the same goals, but in a less intrusive way. It only features a "selective compilation", which tries to restrict the number of files processed during a compilation loop. For achieving this, a new "`file`" configuration option is allowed, which tells the compiler which file has been changed. Then, alloy's compiler only builds the files which it guesses need to be recompiled, depending on the input changed filename.

This has proven to be very efficient in a large project (large = more than 1000 files processed during the alloy compilation), cutting the compilation time down to 0.4 seconds (~10s before). Bootstrapping this compilation option with grunt is shown in https://github.com/xavierlacot/Alloy-Bootstrap