Add link.targetSchema support
Allow configuring service API URL
Workaround to prevent failure when there are references between resources
Values and parameters not relying on Link.Rel

As commented in [#26][pr], return type and parameters should not rely on
Rel.

I've tried to align this as much as possible with [prmd][prmd]'s
generated documentation.

This commit introduces the following changes:

 - Allow parameters in GET links based on link.schema.
 - Allow returning resources in DELETE and PUT/PATCH, [following the
   HTTP API Design Guidelines][guidelines].
 - Do not use "empty" rel to define a link doesn't return anything.
   Instead rely on TargetSchema or Schema with no type or "null" type.
 - Determining whether methods have parameters or return content based
   on TargetSchema and Schema.

We still rely on Link.Rel when it's set to "instances" to:

 - Allow an optional ListRange parameter.
 - Return an array of the resource's property if no TargetSchema is
   defined in the link.

Return types should be based on Link.TargetSchema or the resource's
Schema if no TargetSchema is provided.

We are using a fork from github.com/google/go-querystring/query to
serialize GET options with proper serliaziation of hashes and arrays
following prmd's documentation.

e.g: encoding arrays as ```ids[]=1&ids[]=2&ids[]=3``` and structs as
```user[name]=acme&user[addr][postcode]=1234&user[addr][city]=SFO```

You can see the Pull Request with the changes here:
https://github.com/google/go-querystring/pull/5

PatternProperties generate ```map[string]interface{}``` go type.
Encoding of maps is not yet supported by go-querystring/query.

When creating a link with a DELETE method and a schema, prmd documents
the link accepts a JSON body with the attributes. However, some servers
ignore body from DELETE requests, so we are not allowing any parameters
for links with DELETE method.

[prmd]: https://github.com/interagent/prmd
[guidelines]: https://github.com/interagent/http-api-design#provide-full-resources-where-available
[pr]: https://github.com/interagent/schematic/pull/26
Do not use rel=instances to infer array values
Renames: APIURL > URL & DefaultAPIURL > DefaultURL
Don't build against tip
Merge pull request #26 from ernesto-jimenez/link.targetSchema

Add link.targetSchema support
Update README.md

`go get -u github.com/interagent/schematic` wont install `cmd/schematic`
Merge pull request #28 from daneharrigan/patch-1

Update README.md
Use ListRange in Service.Get and remove Println
DefaultURL as a constant instead of a variable
Changes to user go generate
Reduce reflection in templates/service.tmpl
Merge pull request #27 from ernesto-jimenez/improvements

Do not rely in Link.Rel for values and parameters, allow configuring APIURL and workaround for random errors with schemas with references between resources
Update README with instructions for go generate
Fixing support for Array schemas and targetSchemas

This is a first take on supporting arrays in Schema or TargetSchema
rather than objects.

Pending:

 * Support for optional arrays
fix tests