add sh fallback for uudecode

Add a POSIX sh implementation of uudecode to fall back on if uudecode is
not available, from http://www.weeklywhinge.com/?p=108 .

It is *EXCRUCIATINGLY* slow. We should probably print a warning if
uudecode is not available.