Add "swiftapp" DSL to build executables
ModuleTask API supports providing module dependencies
Refactor new Greetable module to demo inter-library dependencies

Note: lightspeed currently can't build this because it generates
intermediate object files itself, and can't detect the dependencies
between source files in order to determine the correct order for
compilation.
Support building libraries with dependencies on other libraries

Now passing source files directly to swift when building a lib, so that
it can determine the order in which to compile object files.
Support linking of transitive dependencies for executables

Final piece in getting the Greeting example to compile.
Ensure module dependencies are build before .swiftmodules
Remove unnecessary concept of build intermediates dir
Extract concept of FutureList to delay resolution of module dependencies
Defer module dependency evaluation until task invocation time

This should ensure that module dependencies declared out of order should
still resolve correctly.

Previously, swiftmodules declared out of order would raise a runtime
error.
Merge pull request #4 from sharplet/swiftapp

Creation of executables with the "swiftapp" method, and resolution of transitive dependencies in the module graph