Moved zone-related threads into the zone

The action, motion, and update threads all really belonged in the zone
object, so they and all their baggage were moved there.  As a result,
three files (action.cc, motion_worker.cc, and update.cc) were able to be
removed.

The dynamic library handling which was being done by hand everywhere
became its own class, located in library.h and library.cc.  Handling of
individual libraries is now able to be done much closer to where it is
used; for example, the actions library loading and registering
is now done inside the zone itself.

The zone_interface files are a relic of when we were trying to keep the
base C server stuff and the C++ classes separate, and the original
reasoning is no longer valid, so we will begin moving as much
as possible out of those files, for their eventual removal.

There were some smaller updates in order to get everything within the
classes and actions directories to compile.  Linking is still a problem,
though it may be a result of the differences between the Mac (current dev
platform) and Linux (previous dev platform) linkers.  Some of the problems
may be resolved with the eventual removal of the zone_interface.