Remove vcore_entry_gate_context, vcore_entry_context

They are large and unnecessary.
Use actual assembly inst, not .byte syntax

Requires us to have a binutils that recognizes them, but we assume that is
true at this point.
Major code review of tls usage in vcore code

This review saw the disappearance of the current_tls_desc variable, as well as
a simplification of how to access tls vars in other threads/vcores tls without
having to switch into them.  This helps alleviate the ILAT problem (Ian Lance
Taylor problem) of not being able to create a cmb() for a computed tls_addr
when we swap the tls out from under ourselves.  Now we don't have to. We left
the old way in there still for now so that external code that uses it doens't
break (e.g. lithe).
Reuse the stack of the underlying pthread for a vcore

Previously we were unnecessarily allocating a new stack.  In the process we
also changed the semantics of the __vcore_stack variable to point to the top
of the stack instead of the bottom (since it's not mmaped anymore).