MADE A LOT OF CHANGES (and Bugfixes!)

~~~Patchnotes:
-> Removed minor leftover merge conflicts.
-> Fixed speed calculation.
-> Fixed update_coords() not being called properly.
-> Added optional comment variable to print_table() which is output
above the table to help identify it; is currently used to display each
tick.
-> Added World.print_table() to each tick in main.py.
-> Fixed cells NOT using an environment's actual size when attempting to
wrap around it.
-> Fixed random_walk() not properly calling the environment singleton,
causing the program to only occasionally run.
-> Fixed cells not being told they no longer had a task and destination
after eating the food they were moving towards. (Now, as soon as a cell
eats food, its task and destination are set to None.)
-> Cells that were about to go the speed limit no longer sometimes go
the speed limit in the opposite direction. Accomplished this by creating
a new function, speed_limit(). (As a result, speed-limiting code in both
the acceleration and deacceleration functions have been removed.)
-> Food locations are now updated every tick instead of every twenty
ticks. (This was because if cells ate food on a tick that wasn't the
twentieth, it wouldn't be given a new destination and the program would
crash. Ideally, cells should be able to ask the environment for an
update on food locations only when the cells themselves need it, so that
it doesn't need to happen every single tick.)
-> Cells now consume food at the end of each tick. (This fixed cells
eating food, which would remove their destination, and then attempting
to move somewhere, causing a crash.)
-> slow_towards_destination() is completely rewritten. Now, instead of
attempting to accelerate the cell away from its destination, effectively
lowering the cell's velocity, the cell's velocity is now subtracted from
(or added to, if the velocity is negative) directly. This fixed a bug
where cells would sometimes get stuck with a task of "stop" and end up
rapidly accelerating away from their destinations.
-> New: check_cell.py is a simple program used to take the results of a
print_table(), and write a new print_table() except with only a single
cell's data. Each line in the file represents a tick. This is excellent
for tracking a single cell's movements and change in task, destination
and energy over time.
-> Rewrote some comments to better explain the code's functions.

~~~Still needing to be fixed:
-> Cells have been seen warping from one place to another. Proof of such
is provided in a text file within this commit.
-> Food has been seen being removed from the list of food with no Cells
gaining any energy. In the same instance, some Cells would gain energy
when they had not immediately before eaten food. (This has only been
seen once, and may even have been fixed.)
-> Cells will sometimes reach their X destination before their Y
destination(, and vice-versa). Because the cell is still accelerating,
the cell will begin to occelate past the X destination until it decides
it needs to slow down.
-> Cells don't always reach their destination on their first attempt,
sometimes sliding past it, and must stop completely before trying again.
-> When food no longer exists, the program crashes due to cells not
being given a new location for food. (This will be resolved when
"explore" is implemented.)
-> Cells aren't being told to "explore."
-> one_tick() STILL needs to be completely rewritten, even though cells
move and function pretty well at the moment.