Made Individual cloneable and fixed setUid to actually set a new UUID.
Fixed a bug in how elitism and reproduction were handled. We weren't
cloning the "parents" of the copy, which meant that the "child" copy had
the same UUID that the "parent", which really confused Neo4J.

My solution isn't great, though, as we have to explicitly call setUID()
after cloning, and we really should have the clone() code handle that
for us.

I also did a little refactoring in Evolver to eliminate some of the
(considerable) duplication in that class.
Changed all the "id" labels to "uid" labels. I had thought this would
avoid a problem where our "id" property was shadowing "id" as the name
for the numeric node number that Neo4J assigns, but I'm not entirely
sure that was necessary.

I also cast the fitness coming from the child to a double before setting
it as a Neo4J node property. This was necessary to get some of the tests
to pass as from the tests (but never from the production code?!?) we
were returning a BigDemical as the fitness and Neo4J was throwing an
exception when we tried to set it as a property value.

Lastly, I replaced all the tabs with spaces, which reformatted the whole
darn thing, which was kind of annoying because then it was really hard
to see what "real" things I'd changed.
Made Individual cloneable using @AutoClone. 

Changed a bug in setUid() where we weren't actually setting a new UID
for that Individual; we really should have that happen automatically
when we clone an Individual instead of requiring a call to setUid().

Removed compareTo() since (a) I think it was broken (it should return an
numeric value and it return an individual) and (b) we never actually
called it.
Set the popsize to 10K and the number of generations to 100.