[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.
How are you going to handle passed parameters?  What if I want to pass a parameter that is listed as generate?  Needs to be a way to do that - remember that this is a transition process - so either the p is the process, or the method call is the process and the method call would need to take a thing to transform.