versioning, smartos support, specific interface binding, and repeaters

This is a lot of changes, so I would understand if you do not want to pull this upstream. I figured I'd start a pull request, though, to see if you want any of these changes.

- add ability to lock down statsd version
- add smartos support, for installing service via SMF
- add support for repeaters (via search)
- graphite host can be found via search
- binding (and message passing) can be specified on public or private interfaces.
  This allows us to only bind private IP addresses on a VLAN.

If you see any problems or prefer anything done differently, let me know!