Testing monad transformer stack. Fitness typeclass

Pretty happy with this stack so far - `Selection` object has some
implementation using the stack.

Also, created an ADT called `Fit` with three data constructors:
- `Valid x`
- `Penalty x y`
- `Invalid`

`Fitness` type class for the usage of the `Fit` ADT.

Signed-off-by: Gary Pamparà <gpampara@gmail.com>
Merge remote-tracking branch 'origin/master'

Signed-off-by: Gary Pamparà <gpampara@gmail.com>

Conflicts:
	library/build.sbt
Cleanup for-expression for Selection#tournament.

Signed-off-by: Gary Pamparà <gpampara@gmail.com>
Correct Fitness usage.

Additionally updated some dependencies and added some minor corrections.

Signed-off-by: Gary Pamparà <gpampara@gmail.com>
Cleanup some RNG related code - made OO style

Signed-off-by: Gary Pamparà <gpampara@gmail.com>
Working GA.

This implementation is tightly coupled to the synchronous iteration scheme.
As a result, this needs to be extracted so that the iteration scheme is
completely separate from the algorithm details (in this case how to create
the offspring and then the selection of the next population).

Signed-off-by: Gary Pamparà <gpampara@gmail.com>
Initial sync and async iteration schemes.

Signed-off-by: Gary Pamparà <gpampara@gmail.com>
Cleanup and prepare for the new source base.

Signed-off-by: Gary Pamparà <gpampara@gmail.com>
Renamed module: library => core

Signed-off-by: Gary Pamparà <gpampara@gmail.com>
Large cleanup to RVar Dist instamces

Signed-off-by: Gary Pamparà <gpampara@gmail.com>