Kernel ABI change: Added the ability to return up to 3 values on an
invocation in registers.

This add some overhead to the common case as we make room in the
invocations for the arguments regardless of if they are used.  See the
default treadp and __sg_treadp for how these registers are used.
Clean up composite boot/shutdown, fix bugs in the booter/loader.

1) Fix up the initialization/teardown of the composite
creation/destruction process.  The intention is to enable us to simply
run the scripts multiple times rather than have to reinsert the
module.  Alas, now it just double faults when you try and run the
scripts twice.  Later.

2) Jiguo Song contributed a fix to the cos_loader to properly calcuate
section offsets

3) John Wittrock contributed code to properly track the end of each
component's memory pages in the booter.
added the idl rule to the Makefiles
John Wittrock found a bug:  We don't currently properly restore registers from a fault handler.
Gao Xiang found and debugged a fundamental bug in the memory
management.  This removes redundant reference increments on frames
(physical pages) in the memory mapper.
Merge branch 'master' of git://github.com/gparmer/Composite

Conflicts:
	src/platform/linux/module/hijack.c
Changed the event component back to use the sched_ block/wakeup
mechanism, instead of using the brand mechanism directly. It's
clearer this way (although the cost is higher).