Update update-environment

It's a two step process now - you can declare a variable but not
initialize it. In that case it is given the default value of 'None'
Add a bit more documentation for bstack's and my own good