Project Template (v2)

This PR contains an updated version of the Project Template support based on the latest JSON schema.
It is re-using existing Kubernetes structs and the transformation process is independent from the the data structures. 
Saving t.Expression as a value is confusing because you still use it later.  I would extract it for both read and write:

```
exp := t.Expression
result := exp
```