[ExternalSources] Cache downloads.

Closes #820
[ErrorReport] Include exception class
[FileReferencesInstaller] Fix crash on #header_mappings
[FileAccessor] Add #root and clean up interface
[FileAccessor] Include directories in #preserve_paths
Update outdated dependencies
[Integration] Update lockfiles
[Rakefile] Minor fixes
Update Changelog
Release 0.17.0.rc2
Update Readme
Update Readme
[Specs] Fix issue with missing tmp dir
[Gemspec] Bump Xcodeproj
[Resolver] Gracefully terminate if unable to find a set
[Installer] Call per install hooks before cleaning
[Acknowledgements] Don't crash if the license file doesn't exists.

Closes #828
[Analyzer] Adapt for TargetDefinition#link_with_first_target
[Specs] Fix resolver test
[Gemfile] Point to repos instead of to gems