Added the u64_t deact_tsc field to the capability header: it's the
time stamp for the deactivation time of the capability entry. Since we
need it for all types of capabilities (even for core-local caps like
threads), it's integrated in the header.

The 64-bit tsc changes the sizes of most types of capabilities. Fixed
many places that assume the size of capability entries.

Todo: a cap id allocation mechanism in the llboot for the low-level
components loaded by llboot.

Possible issue: we have a deact_tsc in each cap entry. However, when
we re-use the cacheline for a different type of capability, we may
need to check all TSCs in the cacheline.
Changed multiple things:

1) added retype table.
2) added thread deactivation implementation.
3) in each capability entries, changed the poly to liveness id. We
don't integrate tsc into cap entries anymore. Instead we always use a
liveness entry to track release time.
4) more deactivation code in progress.
More deactivation code (cap_captbl, cap_pgtbl) added. Going to add
retypetbl_ref/deref logic to act/deact.
Added a couple of things:

1) In retype_tbl implementation, partitioned the retype_tbl for kmem
and user memory as we have separate physical memory regions when
running with Linux.

2) Added more retyping operatings in llboot. Fixed some issues as well.
Merge remote-tracking branch 'interwq/master'
merged Qi's latest updates