XD-1816, 1631, 1673: module options asciidoc

This does the following:
* Add a java class that, given a set of asciidoc files, will look for markers of the type `//^<type>.<name>` and `//$<type>.<name>` and will replace everything in between with generated documentation
* Refactors the generation related tasks in build.gradle and adds a task using the java class above
* Updates the gradle-git plugin to latest version
* Adds a task that can be used to push the latest changes

We'll need to sort out the automation of the push (wrt authentication, options [here](http://ajoberstar.org/grgit/docs/groovydoc/org/ajoberstar/grgit/auth/AuthConfig.html)). But in the meantime, this can be used manually, with interactive auth.

An example of the generated snippet is [here](https://gist.github.com/ericbottard/5eb03086ed8dba9d0591)



~~This adds a task that will generate a snippet named `asciidoc/guide/modules/<type>.<module>.asciidoc` for each module, that we can then simply include from the main asciidoc documentation like so:~~
```
include::modules/<type>.<module>.asciidoc[]
```

~~This way, documentation is always up to date.~~
~~Note that:~~
* ~~we can choose to selectively NOT include the file and stick with our current way of doing on a per module basis~~
* ~~we can generate the files locally from time to time and push them to the github wiki repo, so that the wiki also has content~~
* ~~the asciidoc `include` macro accepts attributes that we may leverage if we want _e.g._ to not generate doc for some options, or provide additional text for some options~~