Extend and standardise haproxy_exporter.

Here's the changes I brought up on the mailing list.


Add frontend stats.
Add additional backend stats.

Use haproxy terminology of backend/server rather than services/frontend.
Prefix metrics with frontend/backend/server to make it clear where they come from.
This should reduce confusion.

Add haproxy_up, similar to 'up', and remove exporter_scrape_failures.
This makes it easier to tell if haproxy is resonding.

Use 'type' field rather than 'svname' to determine if a csv row
is a frontend/backend/server. This will be more resilient if anyone
has listeners.
What about using constants and a switch type here?

```go
const (
    frontend = "0"
    backend = "1"
    server = "2"
)

switch type_ {
case frontend:
    e.exportCsvFields(e.frontendMetrics, csvRow, pxname)
// ...
}
```