defs.sh: Fix buildmake() to use patch_source()

buildmake() was performing its own patch sequence which would look for
patches in the top level rather than within the patches/ dir.  This was
inconsistent and unneeded.
bump binutils to 2.24 (prerequisite for microblaze)
GCC 4.8.2
musl: add a patch for microblaze so gcc's and musl's definition matches

otherwise libstc++ will fail to build:
libstdc++-v3/include/bits/basic_string.h:3022:23: note: mismatched types
‘std::size_t {aka long unsigned int}’ and ‘size_t {aka unsigned int}’

it's questionable whether the patch belongs into musl or gcc (because all
other 32bit archs use int for size_t), but this works for the moment
and finding the hardcoded definition of __SIZE_TYPE__ for microblaze
in gcc's build system could become annoying.
add clean.sh to cleanup old builds
gcc 4.8.2 patch: add dynlinker name for musl microblaze
defs.sh: apply all patches that match package+version-*.diff
config.sh: add selection of values the user can chose from

this makes it easier to just uncomment the right options
instead of having to read the docs and sources.
build.sh: use .xz for kernel downloads

this saves us from downloading an additional 20 megs for the .bz2;
and about 15-20 seconds untar time on a fast box, on a slow one even
more.

fixes #15