Migrate to new client_golang.

Only to be merged once the new client_golang is merged into master.

@grobie @juliusv 

This is almost a rewrite because the whole code is so much more
straight forward with the new client_golang. \o/

Benchmark results (arguably, more is happening in the new version
because metrics are handed over and not only set...):

BEFORE
BenchmarkExtract              20          72246094 ns/op        22516486 B/op     252777 allocs/op
--- BENCH: BenchmarkExtract
haproxy_exporter_test.go:127: 256208 bytes used after 1 runs
haproxy_exporter_test.go:127: 284584 bytes used after 20 runs

AFTER
BenchmarkExtract              20          71213582 ns/op        15708971 B/op     312909 allocs/op
--- BENCH: BenchmarkExtract
haproxy_exporter_test.go:141: 359960 bytes used after 1 runs
haproxy_exporter_test.go:141: 3072 bytes used after 20 runs
Sorry. I understood the comment more as a humorous remark than as a serious reminder to revisit the code. (If it starts with "seriously?", it's probably not serious... ;)

I did two things now.
- Made the code less hacky (The method is a three liner now).
- Added a more factual comment so that future coders will not misunderstand it as I did.

Finally, to answer your question why the hack is still necessary: The new client_golang dealt with many things, but how to write this kind of test code was not really on the agenda. At least the current "hackish" solution works well enough, while the other things were really blocking certain use-cases.