Added commandline option for pre-allocating FD objects
Finished refactor of controller.c (but not tested)

In particular, I stopped pre-parsing the commands' argv, and instead
added two utility functions which can do a bulk of the setup work
for most commands.

I also finished implementing the setup work for fd.open and fd.pipe
which is no longer done by the fd.c module.