Initial golang commit

# Work in progress

Submitting this mostly as a proof-of-concept of how this could be done in Go. I quite like it. If others do to, I can finish up validating the rest of the config.