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
Fix unit test. Nashorn returns a double after incrementing, not an integer
Merge pull request #212 from melix/fix-nashorn-test

Fix unit test: Nashorn returns a double after incrementing, not an integer
Return a universally unique identifier as String
Merge pull request #215 from k33g/wip-uuid-last

Return a universally unique identifier as String
Cedric Champeau is a contributor with a CLA

Signed-off-by: Julien Ponge <julien.ponge@insa-lyon.fr>