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.
This is just processing the parameters, iow. generate will produce parameter 'value'.  I do agree that the 'Transform' method should be probably defined on `templateProcessor` which should be most likely interfaced OR as a non-struct method (TransformTemplate(t *Template))