Record machine information in the manifest

Here we record uname -a into the manifest:

https://github.com/snapcore/snapcraft/pull/1528

@ratliff @tyhicks is uname the right information for you, or would you prefer something different to describe the machine?

This brings a couple of important questions.

First, the parts can be run in separate moments, so the machine can change between the build of two parts. We could even build the parts in completely different machines, with some work. So, I think that we should record the machine information for each part. But an alternative would be to just record this information during the prime step, and ignore the possibility of different machines building different parts.

The other question is about when to record the info. I think that the most relevant information to record is from the build step. We want information about how the snap was build. But other steps might be somewhat relevant too. For example, I can imagine a case in which version X of apt is installed during pull. Then we update apt to X+1, and we execute the build step. The results of building after pull with apt vX and after pull with apt vX+1 could be different. This scenario sounds not very likely to me, and not worth the complication to record the machine info in multiple steps; but I would like to hear more opinions.

To start the discussion, my linked branch records the machine details for each part, only during the build step.