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