Add the ability to change how the Kind is determined on an Entity, on a per Goon instance basis.

This is through a function stored on Goon, the KindNameResolver.

This means if you want to do something globally, e.g. add a prefix to all Datastore Kinds, you can, without having to specify Kind values on each Entity instance.

For example:
```go
func prefixKindName(src interface{}) string {
	return "myServiceName." + DefaultKindName(src)
}

g := FromContext(c)
g.KindNameResolver = prefixKindName

//now all Entities has the prefix of "myServiceName." when storing their data.

_, err := g.Put(thing)
```
I agree.