Added a generic hasher for strongly typed enum types.
A macro is now used to create local variables that correspond to the bounds of a volume.

Instead of vol_left, vol_right, vol_bottom, and vol_top having to be
manually created for each volume. The macro does it automatically taking
only the volume name.
A new overload of raytrace now translates the ray before returning it.

This was done in the step function when determining the next position of
the paddle. Now it is easier to reuse!
Functions to find specifically which side a ball should snap to are implemented.

One function: findClosestSide is implemented with getVolumePenetration
which determines by *how much* a volume is intersecting with another
volume, per side.
The Ball now uses a standard volume rather than the stupid diameter.

A diameter only limits the capability of the Ball when a regular Volume
would do just fine.
The Server now accepts a Volume when spawning a ball.
The LocalServer::step function now uses the new raytrace overload.

This replaces the std::transform call which at this point, is integrated
into the overload.
Added handling code for paddle movement which pushes aside balls.
The Paddle now provides a reference and const reference to the internal Volume.

This replaces the old copy version.
Removed the majority of code in LocalServer::step.

This is because of the change in interface of the Ball class. There were
compiler errors.
The exception structures are now in src/server/util.h.
The client libraries are now commented out to avoid ridiculous errors.
The LocalServer is no longer compiled to avoid errors.
A generic id type is now used for both Ball and Paddle identification.
Added an Object class which will soon be Paddle and Ball's base.
The Ball is now a child of the Object class.
The Paddle is now a child of the Object class.
World.h no longer has those nifty findPaddleByID and findBallByID functions.
The id_type type alias is now in Object.h.
The findObjectByID is no longer a template. It accepts Objects.

Since it is no longer a template, it has been added to util.cpp, a new
implementation file.