Fix handling dependencies on empty seed packs.

Seeds containing nothing but other dependsOn blocks were being ignored,
causing those dependencies to not be processed and some files to not be
processed in the intended order.

Also changed the dependency-determination procedure to be a depth-first
traversal where the dependencies for each seed are processed as follows:

if(seed has dependencies) {
				forEach dependency: processSeed(dependency)
}
if(seed hasn't been run) {
				runSeed
				mark seed as run
}