Complex Dependency Resolution
We should support automatic use flag enabling/disabling to try and avoid dependency conflicts.
We should turn the list of mods and their dependency strings into a conjunction, then try to satisfy all clauses. We may be able to get by with simple logic, but to handle what the syntax already supports we would need to use a SAT solver. This is basically what Portage does, so we could possibly make use of Portage code to implement this.
Note that for this the deep option (see #41 (closed)) would include all dependencies and, recursively, their dependencies, in the conjunction.