Add support for tabs (-tabs) and arbitrary spaces (-spaces=N where N > 0)

Also removed unused newline var. Verified that the contents of foo.json, expected_foo.json, expected_foo_tabs.json, and expected_foo_4spaces.json are functionally identical using a non-go json uglyfier and diff.