Fix patch file search path

It should only look in the parent directory for a patch, if the formula
is in a platform specific directory. Also, I do not think having a
separate directory for toolchain specific patches is really necessary.
Use the python launcher script on Windows as well
Change FileSet categories to be an enum
Save the current build dir in the config

Also, change source directory name to something more acurate
Implement new classes for downloading source code

In addition to archives, formulas can now use git, mercurial, or
subversion.
Add an install option for deleting old src dir
Add the ability to specify build variant

It is now possible to specify options for every formula or
just a single formula
Change formula.add_deps to take variable args

This way, if you only need to add one dependency, you don't have to
wrap it with a list
Add function for getting VC version year