Adds head, tail and isEmpty

* change the behaviour of the `head()` and `tail()`
  list augmentation regarding empty lists,
  (`head()` returns `null` if empty, `head()`
  returns an empty list),
* adds a `head()` and `tail()` methods to
  `gololang.Tuple`, with the same behaviour,
* adds a `head()`, `tail()` and `isEmpty()` method
  to arrays, with homogeneous behaviour,
* updates the relevant documentations.

This will allow more polymorphic algorithms on
sequence-line objects (mostly recursive ones)