Improve mutate operation and make Solution.QuickAssign().

Solution.QuickAssign now handles the case where the event (or Rat) was
previously assigned and restores the timetable to a valid state after
finding the fitness of the solution. This removes the need for
Solution.RemoveConflicts, which will over-unassign a solution. Because
of this, Solution.RemoveConflicts has been removed.

hpga.mutate has been modified as a result of these changes (it no longer
calls Solution.RemoveConflicts and does not attempt most-constrained
variable first search).