Fetchers

LU rewrite part 3: classes which can fetch files from local file
system or over the web. Since there is no standard way to fetch
directories over the web (design decision to be able to pick up new
languages when json files are used) I also implemented a special
fetcher for GitHub that downloads a list of files first and then
only fetches the files which exist.

Change-Id: Ib712553ea450ca1d8e0219e81dc5147fb53f2128