test/Tmpdir: Wrapper class for running code in a temporary dir

Not used yet.
Downloader: Implement downloader

Not used yet.
Downloader: Refactor to encapsulate single download operation
Downloader: Implement https support
IndexParser: Implement new class for parsing html index pages

This is a bit of a hack surely, but it only needs to work against
our own download site.
AndroidProjectDeps: New class for dependency management

Also refactor AndroidProject to start using the new class.
FiniteProgress: Implement progress indicator for known progress value
FiniteProgress: Hook up with Console

Also add test case.
InfiniteProgress: Implement progress indicator for unknown progress value
InfiniteProgress: Hook up with Console

Also add test case.
*Progress: Add .done() method to finish progress

Also update tests.
AndroidProjectDeps: Implement loading of available versions

Also add test case.
AndroidProjectDeps: Implement download() method

Also add test case.
AndroidProject: Hook up download
*Progress: Make message param optional in .done()
AndroidProject: Remove unused method downloadCrosswalk()
AndroidProjectDeps: Rename load() to fetchVersions()

Also add documentation and update test case.
AndroidProject*: Do not download Crosswalk if found locally
Downloader: Do not overwrite existing files
doc: Fix comments