NetFileCache and LocalRepo

- LocalRepo - use a local folder as a CKAN repo
- Replaced Cache with NetFileCache, now everything is cached by url according to #111 
- No tests yet :(
- Doesn't get filename from HTTP headers yet
Hmm, do we really want this? I might be mis-reading the code, but surely I can do:

```
cache.CommitDownload(url, "cheese-sandwich");
cache.CommitDownload(url, "vegemite-sandwich");
```

In other words, I can use the same URL twice, but end up with two entirely different file-names that it caches to. When we try to retrieve from the cache, we could even end up with a *different* file back, because we allow multiple files to be cached with the same URL.

This might be fine as a private method, but for public methods I'd be much happier if the *only* thing we supply to the cache is the URL, otherwise we've got all sorts of ways we can end up with inconsistencies.

Alternatively, this might be fine if it ensures that any previous file has been removed that we've cached using that URL.