Working towards cache support

We can now store/retreive metadata in addition to file content in a
CacheFile.  This is important, as we want to be able to reproduce all
of the effects of processing a file, without having to process it.

Unfortunately this is probably going to be complicated by side effects
that are not immediately obvious (such as updating state in mockGen or
similar behaviour).
Start actually caching stuff

The problem now is that we need to make sure to capture _all_ the
effects of calling a function.
More work towards making caching work

This quite possibly breaks stuff, as we are not detecting changes to
the source files yet.  This is mostly about making m.file cacheable -
correctly setting up the cache key comes later.
Speed up mockStdlib

Turns out that a) asking go list for the deps of all the stdlib
packages was rather slow, b) we already had the information we needed
in the form of the imports returned by Gen (thanks to the bugfix that
makes it possible to ignore imports entries that aren't real imports).
Drop some debug output
Install stdlib packages using pkg.Install

We didn't use to be able to do this, as we were using p.tmpPath to
derive the pkg source (which we didn't need to do).  This is the first
step towards being able to cache the install.
Enhance caching to support Install

We can now cache the results of building the packages (pkg.Install) -
which brings us closer to the end-goal of caching as much as possible.

This includes a lot of debug, partly to debug the changes - and partly
for timing investigations.  Having gotten things working I don't want
to risk breaking them, so I'm committing as is.
Add missing file

Can't remember when this was added - but it is definitely needed.
Remove debug output

Keep the timing related stuff - but get rid of the rest of it.
Working towards fixing deps

We are slowing working towards installing the correct set of packages
in the correct order - which should reduce the time taken on cache
miss ...
More work on sorting out package deps
More work on fixing deps

This appears to fix all the stale entries ...
Switch to the result of Deps

Instead of parse the files _and_ using go list, we just parse the
files ...