Fix: merge augmentation function docs

See #200

Merge the augmentations of the same target, as if they were defined
in the same augmentation.

The line and documentation of the augmentation itself are the ones
of the first augmentation declared, since merging docs can results
in not meaningful text.
Fix: reference to an overloaded function

Fixes bug #202 by raising a `AmbiguousFunctionReferenceException` when
trying to reference an overloaded function without providing arity,
using ether `fun(name, module)` or the `^` shorthand.
Code formating
Code formating
Merge pull request #203 from yloiseau/fix/RefToPolymorph

Fix: ambiguous reference to an overloaded function
Merge pull request #201 from yloiseau/bug/DocWhenMoreAugment

Fix: merge augmentation function docs
Decreasing range object

Modify the IntRange and LongRange object to allow
decreasing ranges. This allow to write `range(5, 0)`.
Bug in LongRange test.
Make decrasing range explicit

* `range(5, 1)` is empty, the `:incrementBy(-1)`
  *must* be explicitly specified;
* add a `:decrementBy(x)` method equivalent to
  `:incrementBy(-x)`
* add a `reversed_range(start, end)` predefined
  function, equivalent to
  `range(start, end):incrementBy(-1)`
Improve range object

* adds a default lower-bound value of 0
* makes two ranges with same from, to and increment equals
Implements hashCode on range objects

Also adds some tests an fix a bug when changing the sign of the
increment twice
asciidoc for the new features of ranges
Refactoring: makes ranges more generic

Introduces a `Range<T>` interface and an `AbstractRange<T>` that
generalize all the decreasing machinery, as well as `equals` and
`hashCode`.
Range extends Collection (and small improvements)

* makes the `Range` interface to extends `Collection` and adds
  the corresponding implementations in `IntRange` and `LongRange`,
* adds a `encloses(v)` method to `Range` checking that `v` is between
  `from` and `to`,
* constrains the type used in `AbstractRange<T>` to be a `Comparable<T>`
  to provide a default implementation for `enclose` and thus ease
  `contains` implementation,
* augment `Range` in golo with a `reversed` method,
* adds corresponding tests.
Adds char range, clean code and refactorings

* adds a range on chars: `range('a', 'z')` and change the asciidoc and
  javadoc accordingly
* make the `reversed` augmentation a proper java method tho refactor `Predefined.reversed_range`,
* fix a bug regarding comparisons that assumed `compareTo` to be only
  {-1, 0, 1} which is not the case for chars
* adds a `defaultValue` method and a new constructor using it to
  refactor `Predefined.range(to)`
Adds a range literal notation.

Ranges can now be defined with the literal notation `[begin..end]`
Uses equals for string comparison.
Merge pull request #197 from yloiseau/wip/DecreasingRange

Range object improvements:
* decreasing ranges
* collection interface
* literal notation
Switch to the Azul Zulu Docker base images
Merge pull request #206 from jponge/docker-zulu

Switch to the Azul Zulu Docker base images