Refactor golodoc

Adds object for document elements (augmentations, structs) and clean the
code.
Minor and pedantic changes

Reformat code and refactor the Register into an abstract generic one
using composition and delegation over inheritance.
Merge pull request #207 from yloiseau/refactor/GoloDoc

Refactor golodoc