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.
In the API model, no methods can be defined on API model objects (they are DAO or value objects).  So you need to create a templateProcessor object or something similar to handle taking a template and transforming it into a new template