Refactor golodoc

Adds object for document elements (augmentations, structs) and clean the
code.

This should ease the named augmentations documentation generation (see #194).
As a matter of style it's better to:

```java
class Foo {

  public void plop() { }
}
```

rather than:

```java
class Foo {
  public void plop() { }
}
```