This is the moo proxy wrapper library. It is a library that can be
LD_PRELOADED, and catches some libc calls, proxying them when appropriate
to mood, which runs them with increased (or decreased) permissions.

So far, here is what it wraps, and why:

chdir:		To keep track.
umask:		To keep track.
open, open64:	For opening moo fields.
unlink:		For removing moo fields.
symlink:	For making symlinks inside moo objects.
mkdir:		For making subdirectories of moo objects.
rmdir:		For removing subdirectories of moo objects.
exec*:		For starting up a new method.
kill:		For sending a signal to an object's methods.
chmod:		For changing the perms of moo fields and objects.
connect:	For connecting to per-object sockets.

So opening a file for write doesn't really open a file (which the current
user may not have write access to), instead it tells mood to open the file,
and mood, running as root, decides whether the process is allowed to, and
opens it. So on for reading and writing to files, and executing methods.

Implementation is somewhat libc and system specific. It contains some code
from glibc, and so some functions run under the shared library may run with
glibc-specific behavior even on non-glibc systems. It makes quite some use
of raw syscalls, which may make porting interesting. Wrapping libc
functions is problimatic at best thanks to symbol versioning, and _foo and
__foo and so one and so forth. On the plus side, it does have a fairly
comprehensive test suite.
