The existing _GDTE_ATTR() macros are fine for GDT entries, but not much use
for anything else.
Replace the existing VAR_MACRO() with VAR_MACRO_C1(), which works in the same
way but passes a constant through, and use this to implement TOK_OR() which
works like _GDTE_ATTR() but takes a parameter rather than a hard coded
SEG_ATTR_.
Document the entities fully, and fix them to work correctly with empty
__VA_ARGS__.
Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>