Use httplib2.Http builtin timeout option

...so it only applies to the current request instead of changing some
default.
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.
Download runtimes: Replace httplib2 by subprocess (wget, tar)

This offers much less debugging and is not clean at all, but considering
the non-streaming problems with httplib2, the inability to add a dependency
on urllib3 or python-requests makes this an adequate solution.

It removes the memory overhead by piping wget directly to tar xz.
Polish documentation about mxjar_repo, download_runtime_url
Fix forgotten mdautil rename...
download_runtime: usability and dl other version

 * more CLI interaction and hints to the user about what to do
 * allow downloading random Runtime versions using download_runtime

TODO:
 * do a HEAD request using httplib2 first, to see if the requested
   runtime version is available for download at all
 * write a NEWS file that documents how to use this new feature,
   what configuration needs to be set etc to make it work
 * magically prepend runtimes in app_base to mxjar_repo, as already
   stated in the documentation (full-documented-m2ee.yaml)
 * determine QA test cases that fully cover download success and errors
Fix incorrect configuration key for download_runtime_url
Verify download url by HEAD request first

Do a HEAD request using httplib2 first, to see if the requested
runtime version is available for download at all. This could lead to a
bit more understandable error message instead of garbage from wget and
tar on the screen.

httplib2 does follow HTTP redirects etc. by default
magically prepend runtimes in app_base...

...to mxjar_repo, as already stated in the documentation
(full-documented-m2ee.yaml)
Update CHANGES, NEWS about download_runtime
Improve error message on invalid download version
Yay! A download_runtime funtion for m2ee-tools
TODO: About in newer runtimes shows model version
update TODO, NEWS
Merge changes for 0.5.7 from branch 'develop'
set m2ee module version to 0.5.7