Transition off boost::shared_ptr<>.

This replaces all usage of boost::shared_ptr<> except for a single
instance in GraphicsObject, where its usage is part of the save file
format.
Remove usage of boost::checked_deleter.
Remove a few TODOs that look to be outdated.
Remove the last usages of boost::ptr_container.
Attend to a few more TODOs in the code.
Make lua_rlvm runloop implementation similar to the new rlvm runloop.
Make the parse error exception strings contain more information.
Add a whole bunch of object mutators.

The Kud Wafter ED is basically busted. The actual credits display, but
only against a black background. This implements some of the functions
that are in the unimplemented log, but we still aren't displaying things
correctly.
Move names to std::string.

For reasons I can't remember, I had previously made names const
char*s. That's probably not the right tradeoff in C++. Unit tests don't
run any slower.
Start reorganizing module_obj_fg_bg.cc.

Currently, we have to list out the normal setters, the mutators, the
mutator state checkers, etc. Start moving to a place where all that is
autogenerated for us.
Transition repno based object commands to the new system too.
Redo how objects are initialized.
Copy active object mutators on object copies.

This makes the Kud Wafter ED display something more than a black screen,
but the output isn't correct yet.
Make most of the Kud Wafter ED work.

The Kud Wafter ED sets the same object mutators on each frame. Reject
object mutators if there's already an object mutator running. This makes
most of the ED work, though there are still graphical glitches.
Add tests and debugging output in the object tree dump.
Add a lua script to run through Kud Wafter, and update docs.