[WIP] Project Template

This is an WIP of the Project Template work.
The code below define the Project structs and implement parameters substitution for the JSON.

**Changelog**

* Make getting `Parameter` more effective by converting the `Parameters` to Hash
* The `PValue#Substitute` function now modifies the value of itself
* Added `ServiceLinks` to `SubstituteEnvValues`
* Added `rand.Seed` to `ProcessParameters`
* Added godocs
* Added `ServiceLinks` resolving in terms that environment variables exported by the ServiceLink are copied into target service.
All parameters in `parameters` definition in JSON are used automatically, so you don't need to pass a list of them as an argument to generation. If the JSON define a parameter that has `generate` then the value is generated when this method is called.