Added unittest for basic usage cases.
Skip testing dynamic library until they are working
Merge pull request #371 from Geod24/moar-unittest

Create tests for basic dub usage + test with DMD 2.065.0 + LDC + GDC
Refactoring: createProjectGenerator -> ProjectGenerator.factory
Refactoring: Removed abstract override declaration
Do not catch `Throwable`, catch `Exception` instead.

Rationale:
Catching `Throwable` is discouradged as those object are not safe to catch. Objects that are safe to catch are `Exception` (and `AssertError`). The others (derivatives from `Error`) indicates that a D guarantee had failed and thus, the program is not in a valid state. Catching `Error` derivatives is the D runtime job, not ours.
Moved unittest for compiler.isLinkerFile from build.d to compiler.d and added an unittest
Moved asserts to a contract in BuildSettings
Fixed small bug when computing the ID
Removed superfluous override
[RemoveMe] Temporary removed support for gdc and ldc compilers in order to refactor the interface