Golang Port

This port is based on the Java implementation.

I have included the tests from the test_resources folder.

Let me know if there are any problems, thanks!