Add `distribution_name` to `Croupier::Distribution``

`distribution_name` serves both as setter and getter
(ala jQuery). `Croupier::Distribution#name` now uses
`Croupier::Distribution.distribution_name` too.
Better test organization.
Add doc for `Croupier::Distribution#name`
Add `distribution_description` to `Croupier::Distribution`

`distribution_description` serves both as setter and getter
(ala jQuery). `Croupier::Distribution#description` now uses
`Croupier::Distribution.distribution_description` too.
Move (mini)tests to where they belong.
Move testssuite.R to where it belongs.

(And fix its testpath)
Add generators support.

Generating a sample now depends on a generator.
Better with_enumerator semantics.
Better with_enumerator docs.
Remove requires not needed.
Remove data files and add cli_options method.
Add cli_name method.
Minor refactorings preparing to generators.
Add test:distributions task to Rakefile.
Remove whitespace.
Move sample tests to a submodule.
Change branch in travis badge.
Change submodule url to public url.
Add require_relative and random object for the suite.
Modify uniform distribution.

Now parameters are included and excluded values for the extremes of the interval.