Update DE code to have all parameters provided via lenses.

This is the initial set of changes needed to make the algorithm have a
parameter type that can be changed, based on the usage thereof. All the
code related to reading (and potentially the updating) of the parameter
state is provided through Lens instances.

Signed-off-by: Gary Pamparà <gpampara@gmail.com>
Initial PSO related changes

Signed-off-by: Gary Pamparà <gpampara@gmail.com>
Total function: RVar#choices

If the requested number of elements to select is more than what can be
selected from the provided list, then return a None value. As a result
of this, the function is now total (in my mind) as it will always
terminate and the resulting value is logical by either working or not
working without any "magic".

Signed-off-by: Gary Pamparà <gpampara@gmail.com>
Further changes -> iteration continues

Signed-off-by: Gary Pamparà <gpampara@gmail.com>
Initial pass at simplifying PSO

Signed-off-by: Gary Pamparà <gpampara@gmail.com>
All computations are in the context of RVar.

Signed-off-by: Gary Pamparà <gpampara@gmail.com>
Use the swarm collection

Signed-off-by: Gary Pamparà <gpampara@gmail.com>
More cleanup of PSO code.

Update several libraries and move to scala 2.11.1

Signed-off-by: Gary Pamparà <gpampara@gmail.com>
Hide Solution/Entity constructors

Signed-off-by: Gary Pamparà <gpampara@gmail.com>
Update naming of Position cases: Solution and Point

Signed-off-by: Gary Pamparà <gpampara@gmail.com>
Use Spire conversions to cleanup code

Signed-off-by: Gary Pamparà <gpampara@gmail.com>
Require Fractional and not simply Numeric

Signed-off-by: Gary Pamparà <gpampara@gmail.com>
Cleanup some RNG creation, usage and tests

Signed-off-by: Gary Pamparà <gpampara@gmail.com>
Add chi-squared test for distribution uniformity

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

Signed-off-by: Gary Pamparà <gpampara@gmail.com>
Generators extracted to same pattern.

Signed-off-by: Gary Pamparà <gpampara@gmail.com>
Update bin number on tests and limit to 250 points

Signed-off-by: Gary Pamparà <gpampara@gmail.com>
Move type aliases to package object

Signed-off-by: Gary Pamparà <gpampara@gmail.com>
Use `Align` to prevent `zip` truncating lists.

Signed-off-by: Gary Pamparà <gpampara@gmail.com>
Remove redundant sortBy function call

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