Changed sysenter_esp to point to the sp0, instead of TSS. This
avoids touching the TSS page (TLB!) in Composite sysenter
interposition path. However, this complicates things:

-- now in the interposition path, we get sp0 in esp right
   away. Efficient and simple.
-- but for Linux syscalls, they expect TSS in esp, no sp0. We need to
   restore TSS for them.
-- in order to do so, we store orig_sysenter_esp in struct
   cos_cpu_local_info, which is at the lowest address of kernel stack
   page (Linux thread_info struct is there too).
-- and in interposition path, we restore esp from orig_sysenter for
   Linux path.

Now Composite path doesn't have to suffer TSS accessing
overhead. Awesome!

Also, added several sanity checks related to Linux thread_info
struct. Future proof.