Support installing packages from sources

Here is a prototype of the system as discussed in issue #24.

Rather than merging this into Master, can you merge it into a separate branch, then the community can try it out and comment.

In DESCRIPTION:
```
Depends:
    foo,
    bar,
    baz
Sources:
    foo (git=git://github.com/bar/foo.git, branch=working),
    bar (url=http://my.package.repo.com/bar.tar.gz),
    baz (file=/app/vendor/baz.tar.gz)
```