Hateoas finish

There is this crazy library I found called Hateoas, which I decided to use. I think you'll like it.

Anyways, this introduces the library, which instantly gives us a Hal+json structure and the ability to create real links. I show 2 links - a Programmer `self` link and a link from `Battle` to `Programmer` (now that I think of it, I should probably also show `self` on `Battle`). Steps:

- install hateoas
- plug into the serializer service
- add a self relation to Programmer
- use the UrlGenerator
- Adding a proper link from Battle to Programmer
- Using the Hal content-type
- exposing Battle.Programmer also as an embedded resource

Thanks!
I think you can be less strict: `~2.3` is enough, I carefully follow semver.