Do not rely in Link.Rel for values and parameters, allow configuring APIURL and workaround for random errors with schemas with references between resources

@cyberdelia I needed some modifications, so I just went ahead and implemented them.

This includes:
 - PR #26 (support for link.targetSchema)
 - [Allow configuring service's API URL](https://github.com/ernesto-jimenez/schematic/commit/c31814d49983bb0d314737028de3279fc3be0af7) in order to be able to use the same library with different environments by changing the URL.
 - [Workaround to prevent failure when there are references between resources](https://github.com/ernesto-jimenez/schematic/commit/048a1f9899598407ed5e645a7894b2da729b94c6).
 - Values and parameters not relying on Link.Rel: [full explanation, including caveats](https://github.com/ernesto-jimenez/schematic/commit/3b605c549ea3652ca64c1c4a34bcb508eee60f5c)

Let me know what you think.
The ```IsValid``` name is a bit misleading. It checks ```qv``` is not the zero value.

The "valid" comes because all reflection methods but ```IsValid``` and ```String``` panic if ```IsValid() == false```.

Back to the question. This is right since, if ```q``` has a zero value we don't have a query to encode.