`init` command in Go.

Open questions

 * How to do the config checking? Do we want to parse the config files in init
 and check for proper values? Or do we want to just check if the files exists
 and yell at user if the config is missing when they invoke a command that uses
 that config?

Change-Id: 5ab51c5e33
Story-Id: 79247470
In general I use `log.Run(task)` to show the user what is happening, then `log.Fail` with the same arguments when something goes wrong. If the task would be spamming the user too much, I simply only use `log.Fail` when there is an error, but not `log.Run` at the beginning... See other commands.