progress on the cfuse compiler:  understands aggregates, but doesn't type check
Fixed issues revolving around graph construction for inferred deps, and reformatted code to remove duplicate nodes...still broken for duplicates of aggregates (need to create new dependencies as well)
Duplication of normal components works.  Duplication of components in an aggregate component is a wip due to needing to duplicate the deps
duplication of aggregates now works
CFuse: Added a list of dependencies into the aggregate components.
Boot process: now the booter is passed the initial arguments, and the cgraph.
added names into the cobjs so that they can be printed out for debugging in boot
Moved the cgraph implementation to the booter from the cgraph.static component.
updated documentation to include directions on how to migrate runscripts given changes to the component dependency structure.
removed the now superfluous components (st, bc, and cg) from the unit tests.
updated the version_migration documentation file
update version_migration
Scheduling of the creation of threads for components on boot-up.  If
you want an initial thread, then simply depend on the scheduler.
WARNING: breaks backwards compatibility in that thread priorities are
now ignored.  If you want to create a thread with specific priorities,
call sched_create_thread explicitly.

Added a new data-area that is used to pass the schedule to the booter,
and it creates threads in this order.  We wanted to maintain some
backwards compatibility: Components that wish to use the boot up
thread to continue computation can do so.  The thread within the
booter is at a lower priority, so if the initialization thread in the
new components blocks, only then will the next thread be created.
This does imply that if you block during initialization, then you
could recieve invocations after that point.  This seems like a
practically OK trade-off for now (i.e. most initialization should be
done without blocking).
version migration file in docs updated
Removed the sched_conf component.  Made integrating a tarball easier.
Boot component must now be the 4th component listed in the runscript.

1) Removed sched_conf component.  Currently, scheduler parameters
aren't used (except when a thread is made intentionally from within a
component).  Additionally, there is no mechanism for passing initial
arguments currently.  They are in the booter component, but are
currently unused.  Since the sched_conf has been removed, a typical
list of non-composite loaded components is "c0.o, ;*fprr.o, ;mm.o,
;boot.o, ;print.o, ;".  Note that the boot component now has to be the
4th listed component.

2) The initf components now do not have their tarball loaded by the
loader, and instead by object pasting hacks.  The initfs/initf.simple
component is now just another compsite-loaded component.

We now only have the 4 non-composite-loaded components.  Victory!
Initial arguments unit test: example for using the new initial arguments support
Cleanup and some attempt to get some important old scripts working.
cleaned up components that relied on sched_config.  Not guaranteed to work.
Found TLB coherency issue, and hacked a fix that needs to be fixed later.

In the booter, when we go beyond the initial 4MB region, the next page
that is touched (that has already been mapped) will fault with a "page
not present" fault.  The page tables are setup fine, both at the pgd
and the pte level.  Flushing the TLB solves the issue (thus I added a
COS_MMAP_TLBFLUSH flag).  Currently, the tlb is flushed after the
pages are mapped in, but before they are accessed, and it works.  The
only way this really makes sense is if invocations aren't going
through the kernel (i.e. which should flush the TLB).  However, even
in that case, there should be no TLB mapping for the missing page that
is not active, thus the TLB should not include a "not present" page.
To make it more confusing, the system works for any allocations made
within the same pgd (4MB region) -- thus the "in same protection
domain" theory is wrong -- and it only fails when we go to another pgd
entry.

Who knows?
Actually fixed the booter problem with expanding address space.  Last
fix was crap.  Now we update the mpd with the current spd's page table
mappings.

Added small amount of code to the page-fault handler to check if the
current composite page-table does _not_ include the mapping, and the
spd's page-table does.  If this is the case, update the spd's
page-table.

TODO: test the normal page-fault handler to ensure it still works fine.
Fixed the lws_static.sh script: put fprr.o dependency before mm.o to
avoid incorrect invocation of mm.o base-case sched functions.