Refactor toString logic from Dumper to Version (Fixes #2)

I haven't changed the tests to show that things still work as intended. Perhaps in a following PR or?