Modified select:sort_by_fitness/2.

Assumes the list of individuals are of the form [{pid(), number()}].
Created utils module.

Defined function to return a list of random numbers over a(n inclusive)
range of a particular length.
Fixed specification of init/1 callback in invd module.
Stubbed out sat_invd module.

Implements individual behaviour. Stores a list of variable name/value
pairs, which can easily be converted to a dictionary for faster lookup.

The evaluate/1, select/1, crossover/2, and mutate/1 functions do
nothing interesting yet.
Defined 'and', 'or', and 'not' records for boolean expressions.

Kind of hideous to use single-quotes around the atom for when referring
to the record, but that is what you get when using a reserved word...