Added a download runtime function.

This will be completely invisible to the user, unless he/she meets the
following requirements:
 - have a mxnode: mxjar_repo location that is writeable for the user
 - have a new mxnode: runtime_download_location option
 - have an unpacked MDA

Also: added unpack functionality to mdautil.py and renamed that to util.py.

Note: Memory footprint
Because httplib2 does not offer a chunked download API, the entire
runtime is download into memory, then processed by tarfile.extractall.
This could have a large memory footprint. However, as this will usually
be done when the application is not running I do not expect problems
soon. We might switch to urllib2 which does support chunked transfers,
then we can also provide a progress meter.