Feature/reimplement

@bernerdschaefer  @juliusv  This is now ready for review.

Please let me know if you think we should have this review on Gerrit. (We need to create a new project there, which probably requires Julius's assistance...)

Bernerd, as you can see, I even rescued your internal metrics and could thereby demonstrate the shortcomings of the current Go client library for those kind of things... :)

The core code is pretty straight forward and more or less as we envisioned it.