Input plugin: collectd

This plugin supports receiving metrics via collectd's "network" plugin. It parses the binary protocol and stores most metric data as columns. Values are all float64. It requires the types.db file to be on the influxdb system.

Feedback appreciated.
In ListenAndServer() in api/collectd/api.go if typesdb can't be parsed it will return an error. But I'll add a check to server.go as well. A simple "file exists?" style check should be enough? Or should I attempt to parse it there?

Regarding how that file is obtained, yeah, I'm not sure of a way around that. That file contains required information for many metrics so I can't just not use it. Open to ideas.