Update variables on solution load and on configuration change

Previous behavior was to update variables before build begin. This was
not good enough
Generate the signing key only if needed