Modify EBBMissFunc type

The type is now composed of the other EBB types. I added a static
assert that checks that it is compatible with lrt_trans_miss_func.
Fix x86 baremetal compilation issues

The binary will be compiled and helloworld works (sort of). None of
the event system is setup but that isn't required for helloworld and
some others.
Add event implementation

msgtst now works (single core of course), event binding and trigger works
Refactor x86 baremetal bringup

Still single core but starting to refactor boot memory vs higher level
memory allocation. Mem_preinit and event_preinit have been
implemented.
Change lrt_mem_alloc to receive location

The lrt_mem_allocator now gets told which location to allocate
from. This is necessary because early on we do not have the facilities
to get our event location the standard way yet we know the boot core
is core 0.
Refactor for multicore compliance

This change refactors a lot of the code so that the bringup on a
single core is more in line with the way it will be once we actually
add multiple cores.
Fix distcheck

There were some missing headers in makefiles
Add multicore bringup on x86 baremetal

All cores get brought up now as we do on ulnx. There is still a bug
with respect to cache invalidation that has to be fixed
Fix implementation of lrt_next_event_loc

Now the cache invalidation doesn't loop indefinitely
Get msgtst working on bochs

There was a bug in the pic implementation
fixed parcing of ACPI MADT table to properly tell us the number of cores to work on vmware as well
bunch more cleanup, now works multicore on vmware
notes for running on fusion
Boot using KVM on kd

There were a couple bugs:

1. An optimization of the loading of the gdt using KD's compiler. This
has been fixed with the use of volatiles

2. The init IPI was not level asserted and not being responded to.
Merge pull request #17 from dschatzberg/forSESA

x86 baremetal update
Remove ACPIA

The ACPICA code was ripped out and replaced by our own implementation
where we find the table. I discovered that we indeed need to map more
memory on kd because of the existence of a table in higher memory.
Fix numerous baremetal bugs

All tests seem to be working now. There were several subtle bugs that
required some modifications.

- The event location is assumed to be linear for a lot of our code but
  the apic id is not linear, so some mapping had to be done.

- There was an issue where we forgot to zero out the IDT (It was
  switched from bss to allocated recently). On hardware this caused a
  general protection fault that was quite hard to track down

The outstanding concern is with the ioapic which isn't being
initialized. It should initialize to reasonable defaults (no IRQ
routing). The issue is that this IO APIC has a different version than
the one I setup with, so I am apprehensive about just initializing it
the same way as the other version.
Re-enable IO/APIC

I had disabled the IO/APIC initialization, but after a bit of testing
decided it seems best with the initialization on.
Merge pull request #18 from dschatzberg/forSESA

Kd-baremetal fix
first pass at machine independant memory allocation for boot